@gridsuite/commons-ui 0.125.0 → 0.127.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 (116) hide show
  1. package/dist/components/checkBoxList/checkBoxList.type.d.ts +10 -10
  2. package/dist/components/customAGGrid/customAggrid.style.d.ts +1 -2
  3. package/dist/components/customAGGrid/index.d.ts +1 -0
  4. package/dist/components/customAGGrid/index.js +2 -0
  5. package/dist/components/customAGGrid/separatorCellRenderer.d.ts +11 -0
  6. package/dist/components/customAGGrid/separatorCellRenderer.js +16 -0
  7. package/dist/components/dialogs/customMuiDialog/CustomMuiDialog.d.ts +16 -16
  8. package/dist/components/dialogs/elementSaveDialog/ElementSaveDialog.js +5 -5
  9. package/dist/components/dnd-table/dnd-table-add-rows-dialog.js +3 -3
  10. package/dist/components/elementSearch/elementItem/EquipmentItem.d.ts +6 -6
  11. package/dist/components/elementSearch/tagRenderer/TagRenderer.d.ts +3 -3
  12. package/dist/components/expandableGroup/ExpandableGroup.js +4 -4
  13. package/dist/components/filter/HeaderFilterForm.d.ts +6 -6
  14. package/dist/components/filter/HeaderFilterForm.js +3 -3
  15. package/dist/components/filter/expert/ExpertFilterForm.js +1 -1
  16. package/dist/components/filter/expert/expertFilterUtils.d.ts +1 -0
  17. package/dist/components/filter/expert/expertFilterUtils.js +9 -1
  18. package/dist/components/filter/expert/index.js +2 -1
  19. package/dist/components/filter/index.js +2 -1
  20. package/dist/components/grid/grid-section.d.ts +2 -2
  21. package/dist/components/index.js +4 -1
  22. package/dist/components/inputs/reactHookForm/DirectoryItemsInput.d.ts +2 -1
  23. package/dist/components/inputs/reactHookForm/DirectoryItemsInput.js +52 -23
  24. package/dist/components/inputs/reactHookForm/chip-items-input.js +27 -23
  25. package/dist/components/inputs/reactHookForm/text/DescriptionField.d.ts +2 -2
  26. package/dist/components/inputs/reactHookForm/text/ExpandingTextField.js +1 -4
  27. package/dist/components/inputs/reactHookForm/text/UniqueNameInput.d.ts +3 -2
  28. package/dist/components/inputs/reactQueryBuilder/CustomReactQueryBuilder.js +2 -1
  29. package/dist/components/menus/custom-nested-menu.d.ts +3 -2
  30. package/dist/components/menus/custom-nested-menu.js +0 -4
  31. package/dist/components/overflowableText/OverflowableText.d.ts +4 -3
  32. package/dist/components/parameters/common/ProviderParam.js +3 -3
  33. package/dist/components/parameters/common/limitreductions/limit-reduction-table-cell.js +3 -3
  34. package/dist/components/parameters/common/limitreductions/limit-reductions-table-form.js +3 -3
  35. package/dist/components/parameters/common/limitreductions/limit-reductions-tooltip-column.js +4 -3
  36. package/dist/components/parameters/common/name-element-editor/name-element-editor-utils.js +3 -3
  37. package/dist/components/parameters/common/voltage-level-table/custom-voltage-level-table-cell.js +3 -3
  38. package/dist/components/parameters/common/widget/parameter-float.js +3 -3
  39. package/dist/components/parameters/common/widget/parameter-line-slider.d.ts +1 -1
  40. package/dist/components/parameters/common/widget/parameter-line-slider.js +3 -3
  41. package/dist/components/parameters/loadflow/load-flow-general-parameters.js +3 -3
  42. package/dist/components/parameters/loadflow/load-flow-parameter-field.js +3 -3
  43. package/dist/components/parameters/loadflow/load-flow-parameters-content.js +3 -3
  44. package/dist/components/parameters/loadflow/load-flow-parameters-dialog.js +3 -3
  45. package/dist/components/parameters/loadflow/load-flow-parameters-form.d.ts +1 -1
  46. package/dist/components/parameters/loadflow/load-flow-parameters-form.js +3 -3
  47. package/dist/components/parameters/loadflow/load-flow-parameters-header.js +3 -3
  48. package/dist/components/parameters/loadflow/load-flow-parameters-inline.js +3 -3
  49. package/dist/components/parameters/loadflow/load-flow-parameters-utils.js +3 -3
  50. package/dist/components/parameters/loadflow/use-load-flow-parameters-form.js +3 -3
  51. package/dist/components/parameters/network-visualizations/map-parameters.js +3 -3
  52. package/dist/components/parameters/network-visualizations/network-area-diagram-parameters.js +3 -3
  53. package/dist/components/parameters/network-visualizations/network-visualizations-form.js +3 -3
  54. package/dist/components/parameters/network-visualizations/network-visualizations-parameters-dialog.js +3 -3
  55. package/dist/components/parameters/network-visualizations/network-visualizations-parameters-inline.js +3 -3
  56. package/dist/components/parameters/network-visualizations/single-line-diagram-parameters.js +3 -3
  57. package/dist/components/parameters/network-visualizations/use-network-visualizations-parameters-form.js +3 -3
  58. package/dist/components/parameters/parameters-style.d.ts +64 -59
  59. package/dist/components/parameters/security-analysis/security-analysis-parameters-dialog.js +3 -3
  60. package/dist/components/parameters/security-analysis/security-analysis-parameters-form.js +3 -3
  61. package/dist/components/parameters/security-analysis/security-analysis-parameters-inline.js +3 -3
  62. package/dist/components/parameters/security-analysis/security-analysis-parameters-selector.js +3 -3
  63. package/dist/components/parameters/security-analysis/security-analysis-violations-hiding.js +3 -3
  64. package/dist/components/parameters/security-analysis/use-security-analysis-parameters-form.js +3 -3
  65. package/dist/components/parameters/sensi/sensitivity-Flow-parameters.js +3 -3
  66. package/dist/components/parameters/sensi/sensitivity-analysis-parameters-dialog.js +3 -3
  67. package/dist/components/parameters/sensi/sensitivity-analysis-parameters-form.js +3 -3
  68. package/dist/components/parameters/sensi/sensitivity-analysis-parameters-inline.js +3 -3
  69. package/dist/components/parameters/sensi/sensitivity-parameters-selector.js +3 -3
  70. package/dist/components/parameters/sensi/sensitivity-table.js +3 -3
  71. package/dist/components/parameters/sensi/use-sensitivity-analysis-parameters.js +3 -3
  72. package/dist/components/parameters/sensi/utils.js +3 -3
  73. package/dist/components/parameters/short-circuit/short-circuit-fields.js +9 -19
  74. package/dist/components/parameters/short-circuit/short-circuit-parameters-dialog.js +3 -3
  75. package/dist/components/parameters/short-circuit/short-circuit-parameters-form.js +3 -3
  76. package/dist/components/parameters/short-circuit/short-circuit-parameters-inline.js +3 -3
  77. package/dist/components/parameters/short-circuit/use-short-circuit-parameters-form.js +3 -3
  78. package/dist/components/parameters/voltage-init/equipment-selection-parameters.js +3 -3
  79. package/dist/components/parameters/voltage-init/general-parameters.js +3 -3
  80. package/dist/components/parameters/voltage-init/use-voltage-init-parameters-form.js +3 -3
  81. package/dist/components/parameters/voltage-init/voltage-init-form-utils.js +3 -3
  82. package/dist/components/parameters/voltage-init/voltage-init-parameters-dialog.js +3 -3
  83. package/dist/components/parameters/voltage-init/voltage-init-parameters-form.d.ts +6 -7
  84. package/dist/components/parameters/voltage-init/voltage-init-parameters-form.js +3 -3
  85. package/dist/components/parameters/voltage-init/voltage-init-parameters-inline.js +3 -3
  86. package/dist/components/parameters/voltage-init/voltage-limits-parameters.js +3 -3
  87. package/dist/components/topBar/AboutDialog.js +3 -7
  88. package/dist/components/topBar/GridLogo.d.ts +2 -2
  89. package/dist/components/treeViewFinder/TreeViewFinder.d.ts +3 -0
  90. package/dist/hooks/use-parameters-backend.d.ts +1 -1
  91. package/dist/hooks/use-parameters-backend.js +4 -2
  92. package/dist/hooks/use-unique-name-validation.js +4 -4
  93. package/dist/index.js +8 -1
  94. package/dist/translations/en/filterEn.d.ts +1 -0
  95. package/dist/translations/en/filterEn.js +2 -1
  96. package/dist/translations/en/index.d.ts +1 -0
  97. package/dist/translations/en/index.js +3 -1
  98. package/dist/translations/en/parameters.d.ts +2 -0
  99. package/dist/translations/en/parameters.js +3 -1
  100. package/dist/translations/en/use-unique-name-validation-en.d.ts +12 -0
  101. package/dist/translations/en/use-unique-name-validation-en.js +9 -0
  102. package/dist/translations/fr/filterFr.d.ts +1 -0
  103. package/dist/translations/fr/filterFr.js +2 -1
  104. package/dist/translations/fr/index.d.ts +1 -0
  105. package/dist/translations/fr/index.js +3 -1
  106. package/dist/translations/fr/parameters.d.ts +2 -0
  107. package/dist/translations/fr/parameters.js +4 -2
  108. package/dist/translations/fr/use-unique-name-validation-fr.d.ts +12 -0
  109. package/dist/translations/fr/use-unique-name-validation-fr.js +9 -0
  110. package/dist/utils/constants/fieldConstants.d.ts +2 -0
  111. package/dist/utils/constants/fieldConstants.js +2 -0
  112. package/dist/utils/mapper/getFileIcon.d.ts +2 -2
  113. package/dist/utils/styles.d.ts +2 -0
  114. package/dist/utils/types/equipmentType.d.ts +24 -25
  115. package/dist/utils/types/equipmentType.js +1 -5
  116. package/package.json +40 -41
@@ -26,6 +26,7 @@ export declare enum FieldConstants {
26
26
  EQUIPMENT_TABLE = "equipmentTable",
27
27
  EQUIPMENT_TYPE = "equipmentType",
28
28
  FILTER_TYPE = "filterType",
29
+ FILTERS = "filters",
29
30
  FOLDER_ID = "folderId",
30
31
  FOLDER_NAME = "folderName",
31
32
  FORMATTED_CASE_PARAMETERS = "formattedCaseParameters",
@@ -36,6 +37,7 @@ export declare enum FieldConstants {
36
37
  NOMINAL_VOLTAGE_3 = "nominalVoltage3",
37
38
  NOMINAL_VOLTAGE = "nominalVoltage",
38
39
  OPERATION_TYPE = "type",
40
+ TYPE = "type",
39
41
  PROPERTY_NAME = "propertyName",
40
42
  PROPERTY_OPERATOR = "propertyOperator",
41
43
  PROPERTY = "PROPERTY",
@@ -20,6 +20,7 @@ var FieldConstants = /* @__PURE__ */ ((FieldConstants2) => {
20
20
  FieldConstants2["EQUIPMENT_TABLE"] = "equipmentTable";
21
21
  FieldConstants2["EQUIPMENT_TYPE"] = "equipmentType";
22
22
  FieldConstants2["FILTER_TYPE"] = "filterType";
23
+ FieldConstants2["FILTERS"] = "filters";
23
24
  FieldConstants2["FOLDER_ID"] = "folderId";
24
25
  FieldConstants2["FOLDER_NAME"] = "folderName";
25
26
  FieldConstants2["FORMATTED_CASE_PARAMETERS"] = "formattedCaseParameters";
@@ -30,6 +31,7 @@ var FieldConstants = /* @__PURE__ */ ((FieldConstants2) => {
30
31
  FieldConstants2["NOMINAL_VOLTAGE_3"] = "nominalVoltage3";
31
32
  FieldConstants2["NOMINAL_VOLTAGE"] = "nominalVoltage";
32
33
  FieldConstants2["OPERATION_TYPE"] = "type";
34
+ FieldConstants2["TYPE"] = "type";
33
35
  FieldConstants2["PROPERTY_NAME"] = "propertyName";
34
36
  FieldConstants2["PROPERTY_OPERATOR"] = "propertyOperator";
35
37
  FieldConstants2["PROPERTY"] = "PROPERTY";
@@ -1,3 +1,3 @@
1
- import { SxProps, Theme } from '@mui/material';
2
1
  import { ElementType } from '../types/elementType';
3
- export declare function getFileIcon(type: ElementType, style: SxProps<Theme>): import("react/jsx-runtime").JSX.Element | undefined;
2
+ import { SxStyle } from '../styles';
3
+ export declare function getFileIcon(type: ElementType, style: SxStyle): import("react/jsx-runtime").JSX.Element | undefined;
@@ -7,3 +7,5 @@ export declare const toNestedGlobalSelectors: (styles: object, generateGlobalCla
7
7
  [k: string]: any;
8
8
  };
9
9
  export declare const mergeSx: (...allSx: (SxProps<Theme> | undefined)[]) => (boolean | import('@mui/system').SystemStyleObject<{}> | ((theme: {}) => import('@mui/system').SystemStyleObject<{}>) | ((theme: {}) => import('@mui/system').SystemStyleObject<{}>))[];
10
+ export type SxStyle = SxProps<Theme>;
11
+ export type MuiStyles = Record<string, SxStyle>;
@@ -1,38 +1,37 @@
1
- import { Theme } from '@mui/material';
2
1
  export declare const TYPE_TAG_MAX_SIZE = "90px";
3
2
  export declare const VL_TAG_MAX_SIZE = "100px";
4
3
  export declare const equipmentStyles: {
5
- equipmentOption: {
6
- display: string;
7
- gap: string;
8
- width: string;
9
- margin: string;
10
- padding: string;
11
- alignItems: string;
12
- justifyContent: string;
4
+ readonly equipmentOption: {
5
+ readonly display: "flex";
6
+ readonly gap: "20px";
7
+ readonly width: "100%";
8
+ readonly margin: "0px";
9
+ readonly padding: "0px";
10
+ readonly alignItems: "center";
11
+ readonly justifyContent: "space-between";
13
12
  };
14
- equipmentTag: (theme: string | Theme) => {
13
+ readonly equipmentTag: (theme: import('@mui/material').Theme) => {
15
14
  borderRadius: string;
16
15
  padding: string;
17
16
  fontSize: string;
18
- textAlign: string;
19
- color: string;
17
+ textAlign: "center";
18
+ color: "inherit" | "black";
20
19
  };
21
- equipmentTypeTag: {
22
- minWidth: string;
23
- maxWidth: string;
24
- background: string;
20
+ readonly equipmentTypeTag: {
21
+ readonly minWidth: "90px";
22
+ readonly maxWidth: "90px";
23
+ readonly background: "lightblue";
25
24
  };
26
- equipmentVlTag: {
27
- width: string;
28
- minWidth: string;
29
- maxWidth: string;
30
- background: string;
31
- fontStyle: string;
25
+ readonly equipmentVlTag: {
26
+ readonly width: "100px";
27
+ readonly minWidth: "100px";
28
+ readonly maxWidth: "100px";
29
+ readonly background: "lightgray";
30
+ readonly fontStyle: "italic";
32
31
  };
33
- result: {
34
- width: string;
35
- padding: string;
32
+ readonly result: {
33
+ readonly width: "100%";
34
+ readonly padding: "2px";
36
35
  };
37
36
  };
38
37
  /**
@@ -1,4 +1,3 @@
1
- import { LIGHT_THEME } from "../styles.js";
2
1
  const TYPE_TAG_MAX_SIZE = "90px";
3
2
  const VL_TAG_MAX_SIZE = "100px";
4
3
  const equipmentStyles = {
@@ -18,10 +17,7 @@ const equipmentStyles = {
18
17
  padding: "4px",
19
18
  fontSize: "x-small",
20
19
  textAlign: "center",
21
- color: (
22
- // TODO remove first condition when gridstudy is updated
23
- theme === LIGHT_THEME || typeof theme !== "string" && ((_a = theme == null ? void 0 : theme.palette) == null ? void 0 : _a.mode) === "light" ? "inherit" : "black"
24
- )
20
+ color: ((_a = theme == null ? void 0 : theme.palette) == null ? void 0 : _a.mode) === "light" ? "inherit" : "black"
25
21
  };
26
22
  },
27
23
  equipmentTypeTag: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridsuite/commons-ui",
3
- "version": "0.125.0",
3
+ "version": "0.127.0",
4
4
  "description": "common react components for gridsuite applications",
5
5
  "author": "gridsuite team",
6
6
  "homepage": "https://github.com/gridsuite",
@@ -34,17 +34,16 @@
34
34
  "licenses-check": "license-checker --summary --excludePrivatePackages --production --onlyAllow \"$( jq -r .onlyAllow[] license-checker-config.json | tr '\n' ';')\" --excludePackages \"$( jq -r .excludePackages[] license-checker-config.json | tr '\n' ';')\""
35
35
  },
36
36
  "dependencies": {
37
- "@ag-grid-community/locale": "^33.1.0",
37
+ "@ag-grid-community/locale": "^33.3.2",
38
38
  "@hello-pangea/dnd": "^18.0.1",
39
- "@material-symbols/svg-400": "^0.31.2",
40
- "@mui/base": "^5.0.0-beta.40-0",
41
- "@react-querybuilder/dnd": "^8.2.0",
42
- "@react-querybuilder/material": "^8.2.0",
39
+ "@material-symbols/svg-400": "^0.31.9",
40
+ "@react-querybuilder/dnd": "^8.8.4",
41
+ "@react-querybuilder/material": "^8.8.4",
43
42
  "autosuggest-highlight": "^3.3.4",
44
43
  "clsx": "^2.1.1",
45
- "mui-nested-menu": "^4.0.0",
46
44
  "jwt-decode": "^4.0.0",
47
45
  "localized-countries": "^2.0.0",
46
+ "mui-nested-menu": "^4.0.1",
48
47
  "oidc-client": "^1.11.5",
49
48
  "prop-types": "^15.8.1",
50
49
  "react-csv-downloader": "^3.3.0",
@@ -52,8 +51,8 @@
52
51
  "react-dnd-html5-backend": "^16.0.1",
53
52
  "react-querybuilder": "^8.2.0",
54
53
  "reconnecting-websocket": "^4.4.0",
55
- "type-fest": "^4.34.1",
56
- "uuid": "^11.0.5"
54
+ "type-fest": "^4.41.0",
55
+ "uuid": "^11.1.0"
57
56
  },
58
57
  "peerDependencies": {
59
58
  "@emotion/react": "^11.14.0",
@@ -62,7 +61,7 @@
62
61
  "@mui/icons-material": "^5.16.14",
63
62
  "@mui/lab": "5.0.0-alpha.175",
64
63
  "@mui/material": "^5.16.14",
65
- "@mui/x-tree-view": "^7.28.1",
64
+ "@mui/x-tree-view": "^7.29.1",
66
65
  "ag-grid-community": "^33.0.3",
67
66
  "ag-grid-react": "^33.0.4",
68
67
  "notistack": "^3.0.2",
@@ -75,20 +74,20 @@
75
74
  "yup": "^1.6.1"
76
75
  },
77
76
  "devDependencies": {
78
- "@babel/helper-builder-react-jsx": "^7.25.9",
79
- "@babel/preset-env": "^7.26.8",
80
- "@babel/preset-react": "^7.26.3",
81
- "@babel/preset-typescript": "^7.26.0",
77
+ "@babel/helper-builder-react-jsx": "^7.27.1",
78
+ "@babel/preset-env": "^7.28.3",
79
+ "@babel/preset-react": "^7.27.1",
80
+ "@babel/preset-typescript": "^7.27.1",
82
81
  "@emotion/react": "^11.14.0",
83
- "@emotion/styled": "^11.14.0",
84
- "@hookform/resolvers": "^4.0.0",
82
+ "@emotion/styled": "^11.14.1",
83
+ "@hookform/resolvers": "^4.1.3",
85
84
  "@jest/globals": "^29.7.0",
86
- "@mui/icons-material": "^5.16.14",
85
+ "@mui/icons-material": "^5.18.0",
87
86
  "@mui/lab": "5.0.0-alpha.175",
88
- "@mui/material": "^5.16.14",
87
+ "@mui/material": "^5.18.0",
89
88
  "@react-hook/window-size": "^3.1.1",
90
- "@testing-library/jest-dom": "^6.6.3",
91
- "@testing-library/react": "^16.2.0",
89
+ "@testing-library/jest-dom": "^6.8.0",
90
+ "@testing-library/react": "^16.3.0",
92
91
  "@testing-library/user-event": "^14.6.1",
93
92
  "@types/autosuggest-highlight": "^3.2.3",
94
93
  "@types/eslint": "^8.56.12",
@@ -97,53 +96,53 @@
97
96
  "@types/json-logic-js": "^2.0.8",
98
97
  "@types/license-checker": "^25.0.6",
99
98
  "@types/localized-countries": "^2.0.3",
100
- "@types/node": "^22.13.4",
101
- "@types/prop-types": "^15.7.14",
102
- "@types/react": "^18.3.18",
103
- "@types/react-dom": "^18.3.5",
99
+ "@types/node": "^22.18.1",
100
+ "@types/prop-types": "^15.7.15",
101
+ "@types/react": "^18.3.24",
102
+ "@types/react-dom": "^18.3.7",
104
103
  "@types/react-resizable": "^3.0.8",
105
104
  "@typescript-eslint/eslint-plugin": "^7.18.0",
106
105
  "@typescript-eslint/parser": "^7.18.0",
107
- "@vitejs/plugin-react": "^4.3.4",
106
+ "@vitejs/plugin-react": "^4.7.0",
108
107
  "ag-grid-community": "^33.1.0",
109
- "ag-grid-react": "^33.1.0",
108
+ "ag-grid-react": "^33.3.2",
110
109
  "babel-eslint": "^10.1.0",
111
110
  "babel-preset-airbnb": "^5.0.0",
112
111
  "babel-preset-vite": "^1.1.3",
113
112
  "eslint": "^8.57.1",
114
113
  "eslint-config-airbnb": "^19.0.4",
115
114
  "eslint-config-airbnb-typescript": "^18.0.0",
116
- "eslint-config-prettier": "^10.1.1",
115
+ "eslint-config-prettier": "^10.1.8",
117
116
  "eslint-config-react-app": "^7.0.1",
118
117
  "eslint-plugin-flowtype": "^8.0.3",
119
- "eslint-plugin-import": "^2.31.0",
118
+ "eslint-plugin-import": "^2.32.0",
120
119
  "eslint-plugin-jsx-a11y": "^6.10.2",
121
- "eslint-plugin-prettier": "^5.2.5",
122
- "eslint-plugin-react": "^7.37.4",
120
+ "eslint-plugin-prettier": "^5.5.4",
121
+ "eslint-plugin-react": "^7.37.5",
123
122
  "eslint-plugin-react-hooks": "^4.6.2",
124
- "glob": "^11.0.1",
123
+ "glob": "^11.0.3",
125
124
  "identity-obj-proxy": "^3.0.0",
126
125
  "jest": "^29.7.0",
127
126
  "jest-environment-jsdom": "^29.7.0",
128
127
  "license-checker": "^25.0.1",
129
128
  "notistack": "^3.0.2",
130
- "prettier": "^3.5.3",
129
+ "prettier": "^3.6.2",
131
130
  "prettier-plugin-properties": "^0.3.0",
132
131
  "react": "^18.3.1",
133
132
  "react-dom": "^18.3.1",
134
- "react-hook-form": "^7.54.2",
135
- "react-intl": "^7.1.6",
133
+ "react-hook-form": "^7.62.0",
134
+ "react-intl": "^7.1.11",
136
135
  "react-papaparse": "^4.4.0",
137
136
  "react-resizable": "^3.0.5",
138
- "react-router": "^7.4.1",
137
+ "react-router": "^7.8.2",
139
138
  "svgo": "^3.3.2",
140
139
  "ts-node": "^10.9.2",
141
- "typescript": "~5.5.4",
142
- "vite": "^6.2.1",
143
- "vite-plugin-dts": "^4.5.3",
140
+ "typescript": "~5.6.3",
141
+ "vite": "^6.3.6",
142
+ "vite-plugin-dts": "^4.5.4",
144
143
  "vite-plugin-eslint": "^1.8.1",
145
- "vite-plugin-lib-inject-css": "^2.2.1",
146
- "vite-plugin-svgr": "^4.3.0",
147
- "yup": "^1.6.1"
144
+ "vite-plugin-lib-inject-css": "^2.2.2",
145
+ "vite-plugin-svgr": "^4.5.0",
146
+ "yup": "^1.7.0"
148
147
  }
149
148
  }