@gridsuite/commons-ui 0.286.0 → 0.288.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 (24) hide show
  1. package/dist/components/composite/customAGGrid/cell-renderers.js +1 -4
  2. package/dist/components/ui/dialogs/elementSaveDialog/ElementSaveDialog.d.ts +4 -1
  3. package/dist/components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js +6 -3
  4. package/dist/features/index.js +2 -0
  5. package/dist/features/network-modifications/battery/modification/BatteryModificationForm.js +61 -3
  6. package/dist/features/network-modifications/common/index.d.ts +1 -0
  7. package/dist/features/network-modifications/common/index.js +2 -0
  8. package/dist/features/network-modifications/common/tabbedForm.styles.d.ts +32 -0
  9. package/dist/features/network-modifications/common/tabbedForm.styles.js +14 -0
  10. package/dist/features/network-modifications/generator/modification/GeneratorModificationForm.js +61 -3
  11. package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineForm.js +65 -2
  12. package/dist/features/network-modifications/index.js +2 -0
  13. package/dist/features/network-modifications/line/common/LineForm.js +64 -2
  14. package/dist/features/network-modifications/load/common/LoadForm.js +65 -3
  15. package/dist/features/network-modifications/static-var-compensator/creation/static-var-compensator-creation-form.js +10 -9
  16. package/dist/features/network-modifications/twoWindingsTransformer/common/TwoWindingsTransformerForm.js +64 -2
  17. package/dist/features/network-modifications/voltageLevel/creation/VoltageLevelCreationForm.js +3 -2
  18. package/dist/features/network-modifications/voltageLevel/modification/VoltageLevelModificationForm.js +3 -2
  19. package/dist/index.js +2 -0
  20. package/dist/translations/en/networkModificationsEn.d.ts +1 -0
  21. package/dist/translations/en/networkModificationsEn.js +2 -1
  22. package/dist/translations/fr/networkModificationsFr.d.ts +1 -0
  23. package/dist/translations/fr/networkModificationsFr.js +2 -1
  24. package/package.json +1 -1
@@ -29,7 +29,7 @@ const styles = {
29
29
  const FORMULA_ERROR_KEY = "spreadsheet/formula/error";
30
30
  function BooleanCellRenderer({ value }) {
31
31
  const isChecked = value;
32
- return /* @__PURE__ */ jsx("div", { children: value !== void 0 && /* @__PURE__ */ jsx(Checkbox, { style: { padding: 0 }, color: "default", checked: isChecked, disableRipple: true }) });
32
+ return /* @__PURE__ */ jsx("div", { children: value != null && /* @__PURE__ */ jsx(Checkbox, { style: { padding: 0 }, color: "default", checked: isChecked, disableRipple: true }) });
33
33
  }
34
34
  function BooleanNullableCellRenderer({ value }) {
35
35
  return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
@@ -52,9 +52,6 @@ const formatNumericCell = (value, fractionDigits) => {
52
52
  const formatCell = (props) => {
53
53
  let value = props?.valueFormatted || props.value;
54
54
  let tooltipValue;
55
- if (!value && props.colDef.valueGetter) {
56
- props.colDef.valueGetter(props);
57
- }
58
55
  if (value != null && props.colDef.context?.numeric && props.colDef.context?.fractionDigits) {
59
56
  tooltipValue = value;
60
57
  value = Number.parseFloat(value).toFixed(props.colDef.context.fractionDigits);
@@ -1,4 +1,5 @@
1
1
  import { UUID } from 'node:crypto';
2
+ import { AlertColor } from '@mui/material';
2
3
  import { ElementAttributes, ElementType, FieldConstants } from '../../../../utils';
3
4
  declare enum OperationType {
4
5
  CREATE = "CREATE",
@@ -36,6 +37,8 @@ export type ElementSaveDialogProps = {
36
37
  createLabelId?: string;
37
38
  updateLabelId?: string;
38
39
  createOnlyMode?: boolean;
40
+ alertMessageId?: string;
41
+ alertSeverity?: AlertColor;
39
42
  } & ({
40
43
  /** createOnlyMode uses only CREATE operation */
41
44
  createOnlyMode: true;
@@ -58,5 +61,5 @@ export type ElementSaveDialogProps = {
58
61
  /** or directly a given directory */
59
62
  initDirectory?: ElementAttributes;
60
63
  });
61
- export declare function ElementSaveDialog({ open, onSave, OnUpdate, onSaveShared, createSharedLabelId, createSharedDisabled, onClose, type, titleId, prefixIdForGeneratedName, defaultName, studyUuid, initDirectory, initialOperation, selectorTitleId, createLabelId, updateLabelId, createOnlyMode, }: Readonly<ElementSaveDialogProps>): import("react").JSX.Element;
64
+ export declare function ElementSaveDialog({ open, onSave, OnUpdate, onSaveShared, createSharedLabelId, createSharedDisabled, onClose, type, titleId, prefixIdForGeneratedName, defaultName, studyUuid, initDirectory, initialOperation, selectorTitleId, createLabelId, updateLabelId, createOnlyMode, alertMessageId, alertSeverity, }: Readonly<ElementSaveDialogProps>): import("react").JSX.Element;
62
65
  export {};
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useIntl, FormattedMessage } from "react-intl";
3
3
  import { useState, useCallback, useEffect } from "react";
4
- import { Stack, Grid, Button, Typography, Box, CircularProgress } from "@mui/material";
4
+ import { Stack, Grid, Alert, Button, Typography, Box, CircularProgress } from "@mui/material";
5
5
  import { useForm } from "react-hook-form";
6
6
  import { yupResolver } from "@hookform/resolvers/yup";
7
7
  import * as yup from "yup";
@@ -68,7 +68,9 @@ function ElementSaveDialog({
68
68
  selectorTitleId,
69
69
  createLabelId,
70
70
  updateLabelId,
71
- createOnlyMode = false
71
+ createOnlyMode = false,
72
+ alertMessageId,
73
+ alertSeverity = "warning"
72
74
  }) {
73
75
  const intl = useIntl();
74
76
  const { snackError } = useSnackMessage();
@@ -280,7 +282,8 @@ function ElementSaveDialog({
280
282
  })
281
283
  },
282
284
  isCreateMode ? destinationFolder?.id : selectedItem?.id
283
- )
285
+ ),
286
+ alertMessageId && /* @__PURE__ */ jsx(Alert, { severity: alertSeverity, children: /* @__PURE__ */ jsx(FormattedMessage, { id: alertMessageId }) })
284
287
  ]
285
288
  }
286
289
  );
@@ -74,6 +74,7 @@ import { ACCURACY, CALCULATION_TYPE, LOADS_VARIATIONS, LOAD_FILTERS, LOAD_INCREA
74
74
  import { DynamicMarginCalculationInline } from "./parameters/dynamic-margin-calculation/dynamic-margin-calculation-inline.js";
75
75
  import { getTabIndicatorStyle, getTabStyle, parametersStyles } from "./parameters/parameters-style.js";
76
76
  import { filledTextField, italicFontTextField, standardTextField } from "./network-modifications/common/form.utils.js";
77
+ import { tabbedFormStyles } from "./network-modifications/common/tabbedForm.styles.js";
77
78
  import { PropertiesForm } from "./network-modifications/common/properties/PropertiesForm.js";
78
79
  import { PropertyForm } from "./network-modifications/common/properties/PropertyForm.js";
79
80
  import { copyEquipmentPropertiesForCreation, createPropertyModification, creationPropertiesSchema, emptyProperties, fetchPredefinedProperties, getConcatenatedProperties, getFilledPropertiesFromModification, getPropertiesFromModification, getPropertyValue, initializedProperty, mergeModificationAndEquipmentProperties, modificationPropertiesSchema, toModificationProperties } from "./network-modifications/common/properties/propertyUtils.js";
@@ -1118,6 +1119,7 @@ export {
1118
1119
  substationModificationFormSchema,
1119
1120
  substationModificationFormToDto,
1120
1121
  syncGlobalFilters,
1122
+ tabbedFormStyles,
1121
1123
  tabularCreationDtoToForm,
1122
1124
  tabularCreationFormToDto,
1123
1125
  tabularFormSchema,
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Stack, Grid } from "@mui/material";
2
+ import { Stack, Grid, Box } from "@mui/material";
3
3
  import { useWatch } from "react-hook-form";
4
4
  import { BatteryDialogHeader } from "./BatteryDialogHeader.js";
5
5
  import { BatteryDialogTabs } from "./BatteryDialogTabs.js";
@@ -8,6 +8,64 @@ import { FieldConstants } from "../../../../utils/constants/fieldConstants.js";
8
8
  import "../../../../utils/conversionUtils.js";
9
9
  import "../../../../utils/types/equipmentType.js";
10
10
  import "@mui/icons-material";
11
+ import { tabbedFormStyles } from "../../common/tabbedForm.styles.js";
12
+ import "react";
13
+ import "../../common/properties/propertyUtils.js";
14
+ import "react-intl";
15
+ import "../../../../components/ui/overflowableText/OverflowableText.js";
16
+ import "localized-countries";
17
+ import "localized-countries/data/fr";
18
+ import "localized-countries/data/en";
19
+ import "notistack";
20
+ import "../../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
21
+ import "yup";
22
+ import "../../../../components/ui/treeViewFinder/TreeViewFinder.js";
23
+ import "../../../../components/ui/reactHookForm/numbers/RangeInput.js";
24
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
25
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
26
+ import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
27
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
28
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
29
+ import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
30
+ import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
31
+ import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
32
+ import "@hello-pangea/dnd";
33
+ import "../../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
34
+ import "../../../../components/ui/snackbarProvider/SnackbarProvider.js";
35
+ import "mui-nested-menu";
36
+ import "react-resizable-panels";
37
+ import "react-papaparse";
38
+ import "react-dom";
39
+ import "autosuggest-highlight/match";
40
+ import "autosuggest-highlight/parse";
41
+ import "clsx";
42
+ import "../../../../components/composite/filter/FilterCreationDialog.js";
43
+ import "../../../../components/composite/filter/HeaderFilterForm.js";
44
+ import "../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterForm.js";
45
+ import "../../../../components/composite/filter/expert/ExpertFilterForm.js";
46
+ import "../../../../components/composite/filter/expert/ExpertFilterEditionDialog.js";
47
+ import "../../../../components/composite/filter/expert/expertFilterConstants.js";
48
+ import "react-querybuilder";
49
+ import "uuid";
50
+ import "../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterEditionDialog.js";
51
+ import "../../../../components/composite/filter/utils/filterFormUtils.js";
52
+ import "@react-querybuilder/material";
53
+ import "../../../../components/composite/reactQueryBuilder/CustomReactQueryBuilder.js";
54
+ import "../../../../components/composite/reactQueryBuilder/PropertyValueEditor.js";
55
+ import "../../../../components/composite/agGridTable/BottomTableButtons.js";
56
+ import "../../../../components/composite/agGridTable/CustomAgGridTable.js";
57
+ import "ag-grid-community";
58
+ import "../../../../components/composite/customAGGrid/customAggrid.js";
59
+ import "../../../../components/composite/customAGGrid/context/custom-aggrid-context.js";
60
+ import "mathjs";
61
+ import "../../../../components/composite/report/report-viewer/log-table/log-table.js";
62
+ import "react-window";
63
+ import "../../../../components/composite/report/report-treeview/treeview-item.js";
64
+ import "../../../../components/composite/report/report-viewer/context/report-viewer-context.js";
65
+ import "../../common/regulatingTerminal/RegulatingTerminalForm.js";
66
+ import "@mui/material/colors";
67
+ import "@mui/x-charts";
68
+ import "../../common/currentLimits/limitsPane.utils.js";
11
69
  function BatteryModificationForm({
12
70
  batteryToModify,
13
71
  updatePreviousReactiveCapabilityCurveTable,
@@ -19,7 +77,7 @@ function BatteryModificationForm({
19
77
  }) {
20
78
  const { selectedTab, tabsWithError, onTabChange } = useTabsReturn;
21
79
  const equipmentId = useWatch({ name: FieldConstants.EQUIPMENT_ID });
22
- return /* @__PURE__ */ jsxs(Stack, { spacing: 2, children: [
80
+ return /* @__PURE__ */ jsxs(Stack, { spacing: 2, sx: tabbedFormStyles.container, children: [
23
81
  /* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx(BatteryDialogHeader, { batteryToModify, equipmentId }) }),
24
82
  /* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx(
25
83
  BatteryDialogTabs,
@@ -29,7 +87,7 @@ function BatteryModificationForm({
29
87
  onTabChange
30
88
  }
31
89
  ) }),
32
- /* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx(
90
+ /* @__PURE__ */ jsx(Box, { sx: tabbedFormStyles.scrollableContent, children: /* @__PURE__ */ jsx(
33
91
  BatteryDialogTabsContent,
34
92
  {
35
93
  tabIndex: selectedTab,
@@ -6,6 +6,7 @@
6
6
  */
7
7
  export * from './branch';
8
8
  export * from './form.utils';
9
+ export * from './tabbedForm.styles';
9
10
  export * from './properties';
10
11
  export * from './measurements';
11
12
  export * from './setpoints';
@@ -1,4 +1,5 @@
1
1
  import { filledTextField, italicFontTextField, standardTextField } from "./form.utils.js";
2
+ import { tabbedFormStyles } from "./tabbedForm.styles.js";
2
3
  import { PropertiesForm } from "./properties/PropertiesForm.js";
3
4
  import { PropertyForm } from "./properties/PropertyForm.js";
4
5
  import { copyEquipmentPropertiesForCreation, createPropertyModification, creationPropertiesSchema, emptyProperties, fetchPredefinedProperties, getConcatenatedProperties, getFilledPropertiesFromModification, getPropertiesFromModification, getPropertyValue, initializedProperty, mergeModificationAndEquipmentProperties, modificationPropertiesSchema, toModificationProperties } from "./properties/propertyUtils.js";
@@ -168,6 +169,7 @@ export {
168
169
  sanitizeLimitNames,
169
170
  sanitizeLimitsGroups,
170
171
  standardTextField,
172
+ tabbedFormStyles,
171
173
  testValueWithinPowerInterval,
172
174
  toModificationProperties,
173
175
  toReactiveCapabilityCurveChoiceForGeneratorCreation,
@@ -0,0 +1,32 @@
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
+ /**
8
+ * Layout of a modification form made of a fixed header, a fixed tabs bar and a scrollable content:
9
+ *
10
+ * <Stack spacing={2} sx={tabbedFormStyles.container}>
11
+ * <SomeDialogHeader />
12
+ * <SomeDialogTabs />
13
+ * <Box sx={tabbedFormStyles.scrollableContent}>
14
+ * <SomeDialogTabsContent />
15
+ * </Box>
16
+ * </Stack>
17
+ *
18
+ * The container fills its parent only when the host dialog gives it a determinate height
19
+ * (`unscrollableFullHeight` on `CustomMuiDialog`, or a fixed paper height). Otherwise `height: 100%`
20
+ * resolves to `auto` and the form keeps growing with its content.
21
+ */
22
+ export declare const tabbedFormStyles: {
23
+ readonly container: {
24
+ readonly height: "100%";
25
+ };
26
+ readonly scrollableContent: {
27
+ readonly flexGrow: 1;
28
+ readonly overflowY: "auto";
29
+ readonly overflowX: "hidden";
30
+ readonly paddingRight: 3;
31
+ };
32
+ };
@@ -0,0 +1,14 @@
1
+ const tabbedFormStyles = {
2
+ container: {
3
+ height: "100%"
4
+ },
5
+ scrollableContent: {
6
+ flexGrow: 1,
7
+ overflowY: "auto",
8
+ overflowX: "hidden",
9
+ paddingRight: 3
10
+ }
11
+ };
12
+ export {
13
+ tabbedFormStyles
14
+ };
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Stack, Grid } from "@mui/material";
2
+ import { Stack, Grid, Box } from "@mui/material";
3
3
  import { useWatch } from "react-hook-form";
4
4
  import { GeneratorDialogHeader } from "./GeneratorDialogHeader.js";
5
5
  import { GeneratorDialogTabs } from "./GeneratorDialogTabs.js";
@@ -8,6 +8,64 @@ import { FieldConstants } from "../../../../utils/constants/fieldConstants.js";
8
8
  import "../../../../utils/conversionUtils.js";
9
9
  import "../../../../utils/types/equipmentType.js";
10
10
  import "@mui/icons-material";
11
+ import { tabbedFormStyles } from "../../common/tabbedForm.styles.js";
12
+ import "react";
13
+ import "../../common/properties/propertyUtils.js";
14
+ import "react-intl";
15
+ import "../../../../components/ui/overflowableText/OverflowableText.js";
16
+ import "localized-countries";
17
+ import "localized-countries/data/fr";
18
+ import "localized-countries/data/en";
19
+ import "notistack";
20
+ import "../../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
21
+ import "yup";
22
+ import "../../../../components/ui/treeViewFinder/TreeViewFinder.js";
23
+ import "../../../../components/ui/reactHookForm/numbers/RangeInput.js";
24
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
25
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
26
+ import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
27
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
28
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
29
+ import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
30
+ import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
31
+ import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
32
+ import "@hello-pangea/dnd";
33
+ import "../../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
34
+ import "../../../../components/ui/snackbarProvider/SnackbarProvider.js";
35
+ import "mui-nested-menu";
36
+ import "react-resizable-panels";
37
+ import "react-papaparse";
38
+ import "react-dom";
39
+ import "autosuggest-highlight/match";
40
+ import "autosuggest-highlight/parse";
41
+ import "clsx";
42
+ import "../../../../components/composite/filter/FilterCreationDialog.js";
43
+ import "../../../../components/composite/filter/HeaderFilterForm.js";
44
+ import "../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterForm.js";
45
+ import "../../../../components/composite/filter/expert/ExpertFilterForm.js";
46
+ import "../../../../components/composite/filter/expert/ExpertFilterEditionDialog.js";
47
+ import "../../../../components/composite/filter/expert/expertFilterConstants.js";
48
+ import "react-querybuilder";
49
+ import "uuid";
50
+ import "../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterEditionDialog.js";
51
+ import "../../../../components/composite/filter/utils/filterFormUtils.js";
52
+ import "@react-querybuilder/material";
53
+ import "../../../../components/composite/reactQueryBuilder/CustomReactQueryBuilder.js";
54
+ import "../../../../components/composite/reactQueryBuilder/PropertyValueEditor.js";
55
+ import "../../../../components/composite/agGridTable/BottomTableButtons.js";
56
+ import "../../../../components/composite/agGridTable/CustomAgGridTable.js";
57
+ import "ag-grid-community";
58
+ import "../../../../components/composite/customAGGrid/customAggrid.js";
59
+ import "../../../../components/composite/customAGGrid/context/custom-aggrid-context.js";
60
+ import "mathjs";
61
+ import "../../../../components/composite/report/report-viewer/log-table/log-table.js";
62
+ import "react-window";
63
+ import "../../../../components/composite/report/report-treeview/treeview-item.js";
64
+ import "../../../../components/composite/report/report-viewer/context/report-viewer-context.js";
65
+ import "../../common/regulatingTerminal/RegulatingTerminalForm.js";
66
+ import "@mui/material/colors";
67
+ import "@mui/x-charts";
68
+ import "../../common/currentLimits/limitsPane.utils.js";
11
69
  function GeneratorModificationForm({
12
70
  generatorToModify,
13
71
  updatePreviousReactiveCapabilityCurveTable,
@@ -19,7 +77,7 @@ function GeneratorModificationForm({
19
77
  }) {
20
78
  const { selectedTab: tabIndex, tabsWithError: tabIndexesWithError, onTabChange } = useTabsReturn;
21
79
  const equipmentId = useWatch({ name: FieldConstants.EQUIPMENT_ID });
22
- return /* @__PURE__ */ jsxs(Stack, { spacing: 2, children: [
80
+ return /* @__PURE__ */ jsxs(Stack, { spacing: 2, sx: tabbedFormStyles.container, children: [
23
81
  /* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx(GeneratorDialogHeader, { generatorToModify, equipmentId }) }),
24
82
  /* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx(
25
83
  GeneratorDialogTabs,
@@ -29,7 +87,7 @@ function GeneratorModificationForm({
29
87
  onTabChange
30
88
  }
31
89
  ) }),
32
- /* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx(
90
+ /* @__PURE__ */ jsx(Box, { sx: tabbedFormStyles.scrollableContent, children: /* @__PURE__ */ jsx(
33
91
  GeneratorDialogTabsContent,
34
92
  {
35
93
  tabIndex,
@@ -3,6 +3,69 @@ import { Stack, Box } from "@mui/material";
3
3
  import { VscHvdcLineDialogHeader } from "./VscHvdcLineDialogHeader.js";
4
4
  import { VscHvdcLineDialogTabs } from "./VscHvdcLineDialogTabs.js";
5
5
  import { VscHvdcLineDialogTabsContent } from "./VscHvdcLineDialogTabsContent.js";
6
+ import { tabbedFormStyles } from "../../../../common/tabbedForm.styles.js";
7
+ import "react";
8
+ import "react-hook-form";
9
+ import "../../../../common/properties/propertyUtils.js";
10
+ import "../../../../../../utils/conversionUtils.js";
11
+ import "../../../../../../utils/types/equipmentType.js";
12
+ import "@mui/icons-material";
13
+ import { mergeSx } from "../../../../../../utils/styles.js";
14
+ import "react-intl";
15
+ import "../../../../../../components/ui/overflowableText/OverflowableText.js";
16
+ import "localized-countries";
17
+ import "localized-countries/data/fr";
18
+ import "localized-countries/data/en";
19
+ import "notistack";
20
+ import "../../../../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
21
+ import "yup";
22
+ import "../../../../../../components/ui/treeViewFinder/TreeViewFinder.js";
23
+ import "../../../../../../components/ui/reactHookForm/numbers/RangeInput.js";
24
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
25
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
26
+ import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
27
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
28
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
29
+ import "../../../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
30
+ import "../../../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
31
+ import "../../../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
32
+ import "@hello-pangea/dnd";
33
+ import "../../../../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
34
+ import "../../../../../../components/ui/snackbarProvider/SnackbarProvider.js";
35
+ import "mui-nested-menu";
36
+ import "react-resizable-panels";
37
+ import "react-papaparse";
38
+ import "react-dom";
39
+ import "autosuggest-highlight/match";
40
+ import "autosuggest-highlight/parse";
41
+ import "clsx";
42
+ import "../../../../../../components/composite/filter/FilterCreationDialog.js";
43
+ import "../../../../../../components/composite/filter/HeaderFilterForm.js";
44
+ import "../../../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterForm.js";
45
+ import "../../../../../../components/composite/filter/expert/ExpertFilterForm.js";
46
+ import "../../../../../../components/composite/filter/expert/ExpertFilterEditionDialog.js";
47
+ import "../../../../../../components/composite/filter/expert/expertFilterConstants.js";
48
+ import "react-querybuilder";
49
+ import "uuid";
50
+ import "../../../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterEditionDialog.js";
51
+ import "../../../../../../components/composite/filter/utils/filterFormUtils.js";
52
+ import "@react-querybuilder/material";
53
+ import "../../../../../../components/composite/reactQueryBuilder/CustomReactQueryBuilder.js";
54
+ import "../../../../../../components/composite/reactQueryBuilder/PropertyValueEditor.js";
55
+ import "../../../../../../components/composite/agGridTable/BottomTableButtons.js";
56
+ import "../../../../../../components/composite/agGridTable/CustomAgGridTable.js";
57
+ import "ag-grid-community";
58
+ import "../../../../../../components/composite/customAGGrid/customAggrid.js";
59
+ import "../../../../../../components/composite/customAGGrid/context/custom-aggrid-context.js";
60
+ import "mathjs";
61
+ import "../../../../../../components/composite/report/report-viewer/log-table/log-table.js";
62
+ import "react-window";
63
+ import "../../../../../../components/composite/report/report-treeview/treeview-item.js";
64
+ import "../../../../../../components/composite/report/report-viewer/context/report-viewer-context.js";
65
+ import "../../../../common/regulatingTerminal/RegulatingTerminalForm.js";
66
+ import "@mui/material/colors";
67
+ import "@mui/x-charts";
68
+ import "../../../../common/currentLimits/limitsPane.utils.js";
6
69
  function VscHvdcLineForm({
7
70
  hvdcLineToModify,
8
71
  voltageLevelOptions,
@@ -13,7 +76,7 @@ function VscHvdcLineForm({
13
76
  useTabsReturn
14
77
  }) {
15
78
  const { selectedTab, tabsWithError, onTabChange } = useTabsReturn;
16
- return /* @__PURE__ */ jsxs(Stack, { spacing: 2, height: "100%", children: [
79
+ return /* @__PURE__ */ jsxs(Stack, { spacing: 2, sx: tabbedFormStyles.container, children: [
17
80
  /* @__PURE__ */ jsx(VscHvdcLineDialogHeader, { hvdcLineToModify, isModification }),
18
81
  /* @__PURE__ */ jsx(
19
82
  VscHvdcLineDialogTabs,
@@ -24,7 +87,7 @@ function VscHvdcLineForm({
24
87
  isModification
25
88
  }
26
89
  ),
27
- /* @__PURE__ */ jsx(Box, { sx: { flexGrow: 1, overflowY: "auto", overflowX: "hidden", paddingLeft: 1.5, paddingRight: 3 }, children: /* @__PURE__ */ jsx(
90
+ /* @__PURE__ */ jsx(Box, { sx: mergeSx(tabbedFormStyles.scrollableContent, { paddingLeft: 1.5 }), children: /* @__PURE__ */ jsx(
28
91
  VscHvdcLineDialogTabsContent,
29
92
  {
30
93
  tabIndex: selectedTab,
@@ -1,4 +1,5 @@
1
1
  import { filledTextField, italicFontTextField, standardTextField } from "./common/form.utils.js";
2
+ import { tabbedFormStyles } from "./common/tabbedForm.styles.js";
2
3
  import { PropertiesForm } from "./common/properties/PropertiesForm.js";
3
4
  import { PropertyForm } from "./common/properties/PropertyForm.js";
4
5
  import { copyEquipmentPropertiesForCreation, createPropertyModification, creationPropertiesSchema, emptyProperties, fetchPredefinedProperties, getConcatenatedProperties, getFilledPropertiesFromModification, getPropertiesFromModification, getPropertyValue, initializedProperty, mergeModificationAndEquipmentProperties, modificationPropertiesSchema, toModificationProperties } from "./common/properties/propertyUtils.js";
@@ -643,6 +644,7 @@ export {
643
644
  substationModificationEmptyFormData,
644
645
  substationModificationFormSchema,
645
646
  substationModificationFormToDto,
647
+ tabbedFormStyles,
646
648
  tabularCreationDtoToForm,
647
649
  tabularCreationFormToDto,
648
650
  tabularFormSchema,
@@ -3,6 +3,68 @@ import { Stack, Box } from "@mui/material";
3
3
  import { LineDialogHeader } from "./LineDialogHeader.js";
4
4
  import { LineDialogTabs } from "./LineDialogTabs.js";
5
5
  import { LineDialogTabsContent } from "./LineDialogTabsContent.js";
6
+ import { tabbedFormStyles } from "../../common/tabbedForm.styles.js";
7
+ import "react";
8
+ import "react-hook-form";
9
+ import "../../common/properties/propertyUtils.js";
10
+ import "../../../../utils/conversionUtils.js";
11
+ import "../../../../utils/types/equipmentType.js";
12
+ import "@mui/icons-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 "yup";
21
+ import "../../../../components/ui/treeViewFinder/TreeViewFinder.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 "../../common/regulatingTerminal/RegulatingTerminalForm.js";
65
+ import "@mui/material/colors";
66
+ import "@mui/x-charts";
67
+ import "../../common/currentLimits/limitsPane.utils.js";
6
68
  function LineForm({
7
69
  lineToModify,
8
70
  voltageLevelOptions,
@@ -13,7 +75,7 @@ function LineForm({
13
75
  useTabsReturn
14
76
  }) {
15
77
  const { selectedTab, tabsWithError, onTabChange } = useTabsReturn;
16
- return /* @__PURE__ */ jsxs(Stack, { spacing: 2, height: "100%", children: [
78
+ return /* @__PURE__ */ jsxs(Stack, { spacing: 2, sx: tabbedFormStyles.container, children: [
17
79
  /* @__PURE__ */ jsx(LineDialogHeader, { lineToModify, isModification }),
18
80
  /* @__PURE__ */ jsx(
19
81
  LineDialogTabs,
@@ -25,7 +87,7 @@ function LineForm({
25
87
  withConnectivity
26
88
  }
27
89
  ),
28
- /* @__PURE__ */ jsx(Box, { sx: { flexGrow: 1, overflowY: "auto", overflowX: "hidden", paddingRight: 3 }, children: /* @__PURE__ */ jsx(
90
+ /* @__PURE__ */ jsx(Box, { sx: tabbedFormStyles.scrollableContent, children: /* @__PURE__ */ jsx(
29
91
  LineDialogTabsContent,
30
92
  {
31
93
  tabIndex: selectedTab,
@@ -1,8 +1,70 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Stack, Grid } from "@mui/material";
2
+ import { Stack, Grid, Box } from "@mui/material";
3
3
  import { LoadDialogHeader } from "./LoadDialogHeader.js";
4
4
  import { LoadDialogTabs } from "./LoadDialogTabs.js";
5
5
  import { LoadDialogTabsContent } from "./LoadDialogTabsContent.js";
6
+ import { tabbedFormStyles } from "../../common/tabbedForm.styles.js";
7
+ import "react";
8
+ import "react-hook-form";
9
+ import "../../common/properties/propertyUtils.js";
10
+ import "../../../../utils/conversionUtils.js";
11
+ import "../../../../utils/types/equipmentType.js";
12
+ import "@mui/icons-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 "yup";
21
+ import "../../../../components/ui/treeViewFinder/TreeViewFinder.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 "../../common/regulatingTerminal/RegulatingTerminalForm.js";
65
+ import "@mui/material/colors";
66
+ import "@mui/x-charts";
67
+ import "../../common/currentLimits/limitsPane.utils.js";
6
68
  function LoadForm({
7
69
  loadToModify,
8
70
  isModification,
@@ -12,7 +74,7 @@ function LoadForm({
12
74
  useTabsReturn
13
75
  }) {
14
76
  const { selectedTab, tabsWithError, onTabChange } = useTabsReturn;
15
- return /* @__PURE__ */ jsxs(Stack, { spacing: 2, children: [
77
+ return /* @__PURE__ */ jsxs(Stack, { spacing: 2, sx: tabbedFormStyles.container, children: [
16
78
  /* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx(LoadDialogHeader, { loadToModify, isModification }) }),
17
79
  /* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx(
18
80
  LoadDialogTabs,
@@ -23,7 +85,7 @@ function LoadForm({
23
85
  isModification
24
86
  }
25
87
  ) }),
26
- /* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx(
88
+ /* @__PURE__ */ jsx(Box, { sx: tabbedFormStyles.scrollableContent, children: /* @__PURE__ */ jsx(
27
89
  LoadDialogTabsContent,
28
90
  {
29
91
  tabIndex: selectedTab,
@@ -1,14 +1,12 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { Stack, Box } from "@mui/material";
3
- import { StaticVarCompensatorDialogHeader } from "../common/static-var-compensator-dialog-header.js";
4
- import { StaticVarCompensatorDialogTabs } from "../common/static-var-compensator-dialog-tabs.js";
5
- import "../common/static-var-compensator-tab-utils.js";
6
- import "yup";
3
+ import { tabbedFormStyles } from "../../common/tabbedForm.styles.js";
4
+ import "react";
5
+ import "react-hook-form";
6
+ import "../../common/properties/propertyUtils.js";
7
7
  import "../../../../utils/conversionUtils.js";
8
8
  import "../../../../utils/types/equipmentType.js";
9
9
  import "@mui/icons-material";
10
- import "react-hook-form";
11
- import "react";
12
10
  import "react-intl";
13
11
  import "../../../../components/ui/overflowableText/OverflowableText.js";
14
12
  import "localized-countries";
@@ -16,6 +14,7 @@ import "localized-countries/data/fr";
16
14
  import "localized-countries/data/en";
17
15
  import "notistack";
18
16
  import "../../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
17
+ import "yup";
19
18
  import "../../../../components/ui/treeViewFinder/TreeViewFinder.js";
20
19
  import "../../../../components/ui/reactHookForm/numbers/RangeInput.js";
21
20
  import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
@@ -32,7 +31,6 @@ import "../../../../components/ui/snackbarProvider/SnackbarProvider.js";
32
31
  import "mui-nested-menu";
33
32
  import "react-resizable-panels";
34
33
  import "react-papaparse";
35
- import "../../common/properties/propertyUtils.js";
36
34
  import "react-dom";
37
35
  import "autosuggest-highlight/match";
38
36
  import "autosuggest-highlight/parse";
@@ -64,6 +62,9 @@ import "../../common/regulatingTerminal/RegulatingTerminalForm.js";
64
62
  import "@mui/material/colors";
65
63
  import "@mui/x-charts";
66
64
  import "../../common/currentLimits/limitsPane.utils.js";
65
+ import { StaticVarCompensatorDialogHeader } from "../common/static-var-compensator-dialog-header.js";
66
+ import { StaticVarCompensatorDialogTabs } from "../common/static-var-compensator-dialog-tabs.js";
67
+ import "../common/static-var-compensator-tab-utils.js";
67
68
  import "../../shunt-compensator/creation/shuntCompensatorCreation.utils.js";
68
69
  import "../../shunt-compensator/modification/shuntCompensatorModification.utils.js";
69
70
  import { StaticVarCompensatorTabsContent } from "../common/static-var-compensator-tabs-content.js";
@@ -75,7 +76,7 @@ function StaticVarCompensatorCreationForm({
75
76
  useTabsReturn
76
77
  }) {
77
78
  const { selectedTab, tabsWithError, onTabChange } = useTabsReturn;
78
- return /* @__PURE__ */ jsxs(Stack, { spacing: 2, children: [
79
+ return /* @__PURE__ */ jsxs(Stack, { spacing: 2, sx: tabbedFormStyles.container, children: [
79
80
  /* @__PURE__ */ jsx(StaticVarCompensatorDialogHeader, {}),
80
81
  /* @__PURE__ */ jsx(
81
82
  StaticVarCompensatorDialogTabs,
@@ -85,7 +86,7 @@ function StaticVarCompensatorCreationForm({
85
86
  onTabChange
86
87
  }
87
88
  ),
88
- /* @__PURE__ */ jsx(Box, { sx: { flexGrow: 1, overflowY: "auto", overflowX: "hidden", paddingRight: 3 }, children: /* @__PURE__ */ jsx(
89
+ /* @__PURE__ */ jsx(Box, { sx: tabbedFormStyles.scrollableContent, children: /* @__PURE__ */ jsx(
89
90
  StaticVarCompensatorTabsContent,
90
91
  {
91
92
  voltageLevelOptions,
@@ -3,6 +3,68 @@ import { Stack, Box } from "@mui/material";
3
3
  import { TwoWindingsTransformerDialogHeader } from "./TwoWindingsTransformerDialogHeader.js";
4
4
  import { TwoWindingsTransformerDialogTabs } from "./TwoWindingsTransformerDialogTabs.js";
5
5
  import { TwoWindingsTransformerDialogTabsContent } from "./TwoWindingsTransformerDialogTabsContent.js";
6
+ import { tabbedFormStyles } from "../../common/tabbedForm.styles.js";
7
+ import "react";
8
+ import "react-hook-form";
9
+ import "../../common/properties/propertyUtils.js";
10
+ import "../../../../utils/conversionUtils.js";
11
+ import "../../../../utils/types/equipmentType.js";
12
+ import "@mui/icons-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 "yup";
21
+ import "../../../../components/ui/treeViewFinder/TreeViewFinder.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 "../../common/regulatingTerminal/RegulatingTerminalForm.js";
65
+ import "@mui/material/colors";
66
+ import "@mui/x-charts";
67
+ import "../../common/currentLimits/limitsPane.utils.js";
6
68
  function TwoWindingsTransformerForm({
7
69
  twtToModify,
8
70
  voltageLevelOptions,
@@ -14,7 +76,7 @@ function TwoWindingsTransformerForm({
14
76
  useTabsReturn
15
77
  }) {
16
78
  const { selectedTab, tabsWithError, onTabChange } = useTabsReturn;
17
- return /* @__PURE__ */ jsxs(Stack, { spacing: 2, height: "100%", children: [
79
+ return /* @__PURE__ */ jsxs(Stack, { spacing: 2, sx: tabbedFormStyles.container, children: [
18
80
  /* @__PURE__ */ jsx(TwoWindingsTransformerDialogHeader, { twtToModify, isModification }),
19
81
  /* @__PURE__ */ jsx(
20
82
  TwoWindingsTransformerDialogTabs,
@@ -25,7 +87,7 @@ function TwoWindingsTransformerForm({
25
87
  isModification
26
88
  }
27
89
  ),
28
- /* @__PURE__ */ jsx(Box, { sx: { flexGrow: 1, overflowY: "auto", overflowX: "hidden", paddingRight: 3 }, children: /* @__PURE__ */ jsx(
90
+ /* @__PURE__ */ jsx(Box, { sx: tabbedFormStyles.scrollableContent, children: /* @__PURE__ */ jsx(
29
91
  TwoWindingsTransformerDialogTabsContent,
30
92
  {
31
93
  tabIndex: selectedTab,
@@ -37,6 +37,7 @@ import { StructureTab } from "./tabs/structureTab/StructureTab.js";
37
37
  import { SubstationTab } from "./tabs/substationTab/SubstationTab.js";
38
38
  import { CharacteristicsTab } from "./tabs/characteristicsTab/CharacteristicsTab.js";
39
39
  import { filledTextField } from "../../common/form.utils.js";
40
+ import { tabbedFormStyles } from "../../common/tabbedForm.styles.js";
40
41
  import { PropertiesForm } from "../../common/properties/PropertiesForm.js";
41
42
  import "../../common/properties/propertyUtils.js";
42
43
  import "react-dom";
@@ -78,7 +79,7 @@ function VoltageLevelCreationForm({
78
79
  }) {
79
80
  const { selectedTab, tabsWithError, onTabChange } = useTabsReturn;
80
81
  const watchHideBusBarSection = useWatch({ name: FieldConstants.HIDE_BUS_BAR_SECTION });
81
- return /* @__PURE__ */ jsxs(Stack, { spacing: 2, children: [
82
+ return /* @__PURE__ */ jsxs(Stack, { spacing: 2, sx: tabbedFormStyles.container, children: [
82
83
  /* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 2, children: [
83
84
  /* @__PURE__ */ jsx(Grid, { size: 4, children: /* @__PURE__ */ jsx(
84
85
  TextInput,
@@ -134,7 +135,7 @@ function VoltageLevelCreationForm({
134
135
  ]
135
136
  }
136
137
  ) }),
137
- /* @__PURE__ */ jsxs(Grid, { children: [
138
+ /* @__PURE__ */ jsxs(Box, { sx: tabbedFormStyles.scrollableContent, children: [
138
139
  /* @__PURE__ */ jsx(Box, { hidden: selectedTab !== VoltageLevelTab.SUBSTATION_TAB, children: /* @__PURE__ */ jsx(
139
140
  SubstationTab,
140
141
  {
@@ -9,6 +9,7 @@ import "../../../../utils/conversionUtils.js";
9
9
  import "../../../../utils/types/equipmentType.js";
10
10
  import "@mui/icons-material";
11
11
  import { filledTextField } from "../../common/form.utils.js";
12
+ import { tabbedFormStyles } from "../../common/tabbedForm.styles.js";
12
13
  import { PropertiesForm } from "../../common/properties/PropertiesForm.js";
13
14
  import "../../../../components/ui/overflowableText/OverflowableText.js";
14
15
  import "localized-countries";
@@ -81,7 +82,7 @@ function VoltageLevelModificationForm({
81
82
  0
82
83
  /* CHARACTERISTICS_TAB */
83
84
  );
84
- return /* @__PURE__ */ jsxs(Stack, { spacing: 2, children: [
85
+ return /* @__PURE__ */ jsxs(Stack, { spacing: 2, sx: tabbedFormStyles.container, children: [
85
86
  /* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 2, children: [
86
87
  /* @__PURE__ */ jsx(Grid, { size: 4, children: /* @__PURE__ */ jsx(
87
88
  TextField,
@@ -162,7 +163,7 @@ function VoltageLevelModificationForm({
162
163
  ]
163
164
  }
164
165
  ) }),
165
- /* @__PURE__ */ jsxs(Grid, { children: [
166
+ /* @__PURE__ */ jsxs(Box, { sx: tabbedFormStyles.scrollableContent, children: [
166
167
  /* @__PURE__ */ jsx(Box, { hidden: tabIndex !== 0, children: /* @__PURE__ */ jsxs(Grid, { children: [
167
168
  /* @__PURE__ */ jsx(GridSection, { title: "VoltageText" }),
168
169
  /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 2, children: [
package/dist/index.js CHANGED
@@ -235,6 +235,7 @@ import { ACCURACY, CALCULATION_TYPE, LOADS_VARIATIONS, LOAD_FILTERS, LOAD_INCREA
235
235
  import { DynamicMarginCalculationInline } from "./features/parameters/dynamic-margin-calculation/dynamic-margin-calculation-inline.js";
236
236
  import { getTabIndicatorStyle, getTabStyle, parametersStyles } from "./features/parameters/parameters-style.js";
237
237
  import { filledTextField, italicFontTextField, standardTextField } from "./features/network-modifications/common/form.utils.js";
238
+ import { tabbedFormStyles } from "./features/network-modifications/common/tabbedForm.styles.js";
238
239
  import { PropertiesForm } from "./features/network-modifications/common/properties/PropertiesForm.js";
239
240
  import { PropertyForm } from "./features/network-modifications/common/properties/PropertyForm.js";
240
241
  import { copyEquipmentPropertiesForCreation, createPropertyModification, creationPropertiesSchema, emptyProperties, fetchPredefinedProperties, getConcatenatedProperties, getFilledPropertiesFromModification, getPropertiesFromModification, getPropertyValue, initializedProperty, mergeModificationAndEquipmentProperties, modificationPropertiesSchema, toModificationProperties } from "./features/network-modifications/common/properties/propertyUtils.js";
@@ -1971,6 +1972,7 @@ export {
1971
1972
  suppressNonNumericKeyboardEvent,
1972
1973
  default2 as svg,
1973
1974
  syncGlobalFilters,
1975
+ tabbedFormStyles,
1974
1976
  tableEn,
1975
1977
  tableFr,
1976
1978
  tabularCreationDtoToForm,
@@ -536,4 +536,5 @@ export declare const networkModificationsEn: {
536
536
  copyPreviousTopologyStatus: string;
537
537
  modifiedSwitchesSeparatorTitle: string;
538
538
  unModifiedSwitchesSeparatorTitle: string;
539
+ SharedModificationsSavedAsCopy: string;
539
540
  };
@@ -538,7 +538,8 @@ const networkModificationsEn = {
538
538
  currentStatus: "Modified status",
539
539
  copyPreviousTopologyStatus: "Fill with previous status",
540
540
  modifiedSwitchesSeparatorTitle: "Modification",
541
- unModifiedSwitchesSeparatorTitle: "No-modification"
541
+ unModifiedSwitchesSeparatorTitle: "No-modification",
542
+ SharedModificationsSavedAsCopy: "Shared modifications will be saved as copy only"
542
543
  };
543
544
  export {
544
545
  networkModificationsEn
@@ -536,4 +536,5 @@ export declare const networkModificationsFr: {
536
536
  copyPreviousTopologyStatus: string;
537
537
  modifiedSwitchesSeparatorTitle: string;
538
538
  unModifiedSwitchesSeparatorTitle: string;
539
+ SharedModificationsSavedAsCopy: string;
539
540
  };
@@ -538,7 +538,8 @@ const networkModificationsFr = {
538
538
  currentStatus: "État modifié",
539
539
  copyPreviousTopologyStatus: "Compléter avec la topologie précédente",
540
540
  modifiedSwitchesSeparatorTitle: "OC modifiés",
541
- unModifiedSwitchesSeparatorTitle: "OC non-modifiés"
541
+ unModifiedSwitchesSeparatorTitle: "OC non-modifiés",
542
+ SharedModificationsSavedAsCopy: "Les modifications partagées seront enregistrées sous forme de copie uniquement"
542
543
  };
543
544
  export {
544
545
  networkModificationsFr
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridsuite/commons-ui",
3
- "version": "0.286.0",
3
+ "version": "0.288.0",
4
4
  "description": "common react components for gridsuite applications",
5
5
  "author": "gridsuite team",
6
6
  "homepage": "https://github.com/gridsuite",