@gridsuite/commons-ui 0.34.1 → 0.35.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.
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports["default"] = void 0;
4
+ exports.generateTreeViewFinderClass = exports["default"] = void 0;
5
5
  var _react = _interopRequireWildcard(require("react"));
6
6
  var _reactIntl = require("react-intl");
7
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
8
- var _withStyles = _interopRequireDefault(require("@mui/styles/withStyles"));
8
+ var _styles = require("../../utils/styles");
9
+ var _system = require("@mui/system");
9
10
  var _Dialog = _interopRequireDefault(require("@mui/material/Dialog"));
10
11
  var _DialogActions = _interopRequireDefault(require("@mui/material/DialogActions"));
11
12
  var _DialogContent = _interopRequireDefault(require("@mui/material/DialogContent"));
@@ -18,37 +19,45 @@ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
18
19
  var _ExpandMore = _interopRequireDefault(require("@mui/icons-material/ExpandMore"));
19
20
  var _ChevronRight = _interopRequireDefault(require("@mui/icons-material/ChevronRight"));
20
21
  var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
21
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
22
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
+ var _defaultStyles;
24
23
  /**
25
24
  * Copyright (c) 2021, RTE (http://www.rte-france.com)
26
25
  * This Source Code Form is subject to the terms of the Mozilla Public
27
26
  * License, v. 2.0. If a copy of the MPL was not distributed with this
28
27
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
29
28
  */
29
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
30
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
32
+ // As a bunch of individual variables to try to make it easier
33
+ // to track that they are all used. Not sure, maybe group them in an object ?
34
+ var cssDialogPaper = 'dialogPaper';
35
+ var cssLabelRoot = 'labelRoot';
36
+ var cssLabelText = 'labelText';
37
+ var cssLabelIcon = 'labelIcon';
38
+ var cssIcon = 'icon';
30
39
 
31
- var defaultStyles = {
32
- dialogPaper: {
33
- minWidth: '50%'
34
- },
35
- labelRoot: {
36
- display: 'flex',
37
- alignContent: 'center',
38
- alignItems: 'center'
39
- },
40
- labelText: {
41
- fontWeight: 'inherit',
42
- flexGrow: 1
43
- },
44
- labelIcon: {
45
- display: 'flex',
46
- alignContent: 'center',
47
- alignItems: 'center',
48
- marginRight: '4px'
49
- },
50
- icon: {}
40
+ // converted to nested rules
41
+ var defaultStyles = (_defaultStyles = {}, _defaultStyles[cssDialogPaper] = {
42
+ minWidth: '50%'
43
+ }, _defaultStyles[cssLabelRoot] = {
44
+ display: 'flex',
45
+ alignContent: 'center',
46
+ alignItems: 'center'
47
+ }, _defaultStyles[cssLabelText] = {
48
+ fontWeight: 'inherit',
49
+ flexGrow: 1
50
+ }, _defaultStyles[cssLabelIcon] = {
51
+ display: 'flex',
52
+ alignContent: 'center',
53
+ alignItems: 'center',
54
+ marginRight: '4px'
55
+ }, _defaultStyles[cssIcon] = {}, _defaultStyles);
56
+ var generateTreeViewFinderClass = function generateTreeViewFinderClass(className) {
57
+ return "GsiTreeViewFinder-" + className;
51
58
  };
59
+ exports.generateTreeViewFinderClass = generateTreeViewFinderClass;
60
+ var composeClasses = (0, _styles.makeComposeClasses)(generateTreeViewFinderClass);
52
61
 
53
62
  /**
54
63
  * This callback type is called `onTreeBrowseCallback` and is displayed as a global symbol.
@@ -63,7 +72,7 @@ var defaultStyles = {
63
72
  * It is flexible and allow controlled props to let Parent component manage
64
73
  * data.
65
74
  *
66
- * @param {Object} classes - CSS classes, please use withStyles API from MaterialUI
75
+ * @param {Object} classes - Deprecated, use sx or styled instead. - Otherwise, CSS classes, please use withStyles API from MaterialUI
67
76
  * @param {String} [title] - Title of the Dialog
68
77
  * @param {String} [contentText] - Content text of the Dialog
69
78
  * @param {Boolean} open - dialog state boolean handler (Controlled)
@@ -96,7 +105,8 @@ var TreeViewFinder = function TreeViewFinder(props) {
96
105
  validationButtonText = props.validationButtonText,
97
106
  onlyLeaves = props.onlyLeaves,
98
107
  multiselect = props.multiselect,
99
- sortMethod = props.sortMethod;
108
+ sortMethod = props.sortMethod,
109
+ className = props.className;
100
110
  var _useState = (0, _react.useState)({}),
101
111
  mapPrintedNodes = _useState[0],
102
112
  setMapPrintedNodes = _useState[1];
@@ -194,12 +204,12 @@ var TreeViewFinder = function TreeViewFinder(props) {
194
204
  return nodeId === node.id;
195
205
  })) {
196
206
  return /*#__PURE__*/_react["default"].createElement(_Check["default"], {
197
- className: classes.labelIcon
207
+ className: composeClasses(classes, cssLabelIcon)
198
208
  });
199
209
  } else {
200
210
  if (node.icon) {
201
211
  return /*#__PURE__*/_react["default"].createElement("div", {
202
- className: classes.labelIcon
212
+ className: composeClasses(classes, cssLabelIcon)
203
213
  }, node.icon);
204
214
  } else {
205
215
  return null;
@@ -208,9 +218,9 @@ var TreeViewFinder = function TreeViewFinder(props) {
208
218
  };
209
219
  var renderTreeItemLabel = function renderTreeItemLabel(node) {
210
220
  return /*#__PURE__*/_react["default"].createElement("div", {
211
- className: classes.labelRoot
221
+ className: composeClasses(classes, cssLabelRoot)
212
222
  }, getNodeIcon(node), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
213
- className: classes.labelText
223
+ className: composeClasses(classes, cssLabelText)
214
224
  }, node.name));
215
225
  };
216
226
  var showChevron = function showChevron(node) {
@@ -226,10 +236,10 @@ var TreeViewFinder = function TreeViewFinder(props) {
226
236
  nodeId: node.id,
227
237
  label: renderTreeItemLabel(node),
228
238
  expandIcon: showChevron(node) ? /*#__PURE__*/_react["default"].createElement(_ChevronRight["default"], {
229
- className: classes.icon
239
+ className: composeClasses(classes, cssIcon)
230
240
  }) : null,
231
241
  collapseIcon: showChevron(node) ? /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], {
232
- className: classes.icon
242
+ className: composeClasses(classes, cssIcon)
233
243
  }) : null
234
244
  }, Array.isArray(node.children) ? node.children.length ? node.children.sort(sortMethod).map(function (child) {
235
245
  return renderTree(child);
@@ -245,8 +255,9 @@ var TreeViewFinder = function TreeViewFinder(props) {
245
255
  }
246
256
  },
247
257
  "aria-labelledby": "TreeViewFindertitle",
258
+ className: className,
248
259
  classes: {
249
- paper: classes.dialogPaper
260
+ paper: composeClasses(classes, cssDialogPaper)
250
261
  }
251
262
  }, /*#__PURE__*/_react["default"].createElement(_DialogTitle["default"], {
252
263
  id: "TreeViewFindertitle"
@@ -310,7 +321,7 @@ TreeViewFinder.propTypes = process.env.NODE_ENV !== "production" ? {
310
321
  })).isRequired,
311
322
  onTreeBrowse: _propTypes["default"].func,
312
323
  //uncontrolled
313
- classes: _propTypes["default"].object.isRequired,
324
+ classes: _propTypes["default"].object,
314
325
  title: _propTypes["default"].string,
315
326
  contentText: _propTypes["default"].string,
316
327
  validationButtonText: _propTypes["default"].string,
@@ -327,8 +338,9 @@ TreeViewFinder.defaultProps = {
327
338
  defaultExpanded: [],
328
339
  onlyLeaves: true,
329
340
  multiselect: false,
330
- sortMethod: undefined
341
+ sortMethod: undefined,
342
+ classes: {}
331
343
  };
332
- var _default = (0, _withStyles["default"])(defaultStyles)(TreeViewFinder);
333
- exports["default"] = _default;
334
- module.exports = exports.default;
344
+ var nestedGlobalSelectorsStyles = (0, _styles.toNestedGlobalSelectors)(defaultStyles, generateTreeViewFinderClass);
345
+ var _default = (0, _system.styled)(TreeViewFinder)(nestedGlobalSelectorsStyles);
346
+ exports["default"] = _default;
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports["default"] = void 0;
5
- var _TreeViewFinder = _interopRequireDefault(require("./TreeViewFinder"));
4
+ exports.generateTreeViewFinderClass = exports["default"] = void 0;
5
+ var _TreeViewFinder = _interopRequireWildcard(require("./TreeViewFinder"));
6
6
  exports["default"] = _TreeViewFinder["default"];
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8
- module.exports = exports.default;
7
+ exports.generateTreeViewFinderClass = _TreeViewFinder.generateTreeViewFinderClass;
8
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -19,7 +19,8 @@ var top_bar_en = {
19
19
  'top-bar/equipmentLabel': 'Equipment label',
20
20
  'top-bar/id': 'Id',
21
21
  'top-bar/name': 'Name',
22
- 'top-bar/language': 'Language'
22
+ 'top-bar/language': 'Language',
23
+ 'top-bar/customTheme': 'Custom theme'
23
24
  };
24
25
  var _default = top_bar_en;
25
26
  exports["default"] = _default;
@@ -19,7 +19,8 @@ var top_bar_fr = {
19
19
  'top-bar/equipmentLabel': 'Label des ouvrages',
20
20
  'top-bar/id': 'Id',
21
21
  'top-bar/name': 'Nom',
22
- 'top-bar/language': 'Langue'
22
+ 'top-bar/language': 'Langue',
23
+ 'top-bar/customTheme': 'Choix de theme'
23
24
  };
24
25
  var _default = top_bar_fr;
25
26
  exports["default"] = _default;
@@ -14,41 +14,41 @@ var TYPE_TAG_MAX_SIZE = '90px';
14
14
  exports.TYPE_TAG_MAX_SIZE = TYPE_TAG_MAX_SIZE;
15
15
  var VL_TAG_MAX_SIZE = '100px';
16
16
  exports.VL_TAG_MAX_SIZE = VL_TAG_MAX_SIZE;
17
- var equipmentStyles = function equipmentStyles(theme) {
18
- return {
19
- equipmentOption: {
20
- display: 'flex',
21
- gap: '20px',
22
- width: '100%',
23
- margin: '0px',
24
- padding: '0px',
25
- alignItems: 'center',
26
- justifyContent: 'space-between'
27
- },
28
- equipmentTag: {
17
+ var equipmentStyles = {
18
+ equipmentOption: {
19
+ display: 'flex',
20
+ gap: '20px',
21
+ width: '100%',
22
+ margin: '0px',
23
+ padding: '0px',
24
+ alignItems: 'center',
25
+ justifyContent: 'space-between'
26
+ },
27
+ equipmentTag: function equipmentTag(theme) {
28
+ return {
29
29
  borderRadius: '10px',
30
30
  padding: '4px',
31
31
  fontSize: 'x-small',
32
32
  textAlign: 'center',
33
33
  color: theme === _TopBar.LIGHT_THEME ? 'inherit' : 'black'
34
- },
35
- equipmentTypeTag: {
36
- minWidth: TYPE_TAG_MAX_SIZE,
37
- maxWidth: TYPE_TAG_MAX_SIZE,
38
- background: 'lightblue'
39
- },
40
- equipmentVlTag: {
41
- width: VL_TAG_MAX_SIZE,
42
- minWidth: VL_TAG_MAX_SIZE,
43
- maxWidth: VL_TAG_MAX_SIZE,
44
- background: 'lightgray',
45
- fontStyle: 'italic'
46
- },
47
- result: {
48
- width: '100%',
49
- padding: '2px'
50
- }
51
- };
34
+ };
35
+ },
36
+ equipmentTypeTag: {
37
+ minWidth: TYPE_TAG_MAX_SIZE,
38
+ maxWidth: TYPE_TAG_MAX_SIZE,
39
+ background: 'lightblue'
40
+ },
41
+ equipmentVlTag: {
42
+ width: VL_TAG_MAX_SIZE,
43
+ minWidth: VL_TAG_MAX_SIZE,
44
+ maxWidth: VL_TAG_MAX_SIZE,
45
+ background: 'lightgray',
46
+ fontStyle: 'italic'
47
+ },
48
+ result: {
49
+ width: '100%',
50
+ padding: '2px'
51
+ }
52
52
  };
53
53
 
54
54
  // Must be equivalent as the back enum
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.toNestedGlobalSelectors = exports.mergeSx = exports.makeComposeClasses = void 0;
5
+ /**
6
+ * Copyright (c) 2023, RTE (http://www.rte-france.com)
7
+ * This Source Code Form is subject to the terms of the Mozilla Public
8
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
9
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
10
+ */
11
+
12
+ //TODO do we need to export this to clients (index.js) ?
13
+
14
+ // like mui sx(slot)/class merging but simpler with less features
15
+ // TODO use their system ? But it's named unstable_composeClasses so not supported?
16
+ var makeComposeClasses = function makeComposeClasses(generateGlobalClass) {
17
+ return function (classes, ruleName) {
18
+ return [generateGlobalClass(ruleName), classes[ruleName]].filter(function (x) {
19
+ return x;
20
+ }).join(' ');
21
+ };
22
+ };
23
+ exports.makeComposeClasses = makeComposeClasses;
24
+ var toNestedGlobalSelectors = function toNestedGlobalSelectors(styles, generateGlobalClass) {
25
+ return Object.fromEntries(Object.entries(styles).map(function (_ref) {
26
+ var k = _ref[0],
27
+ v = _ref[1];
28
+ return ["& ." + generateGlobalClass(k), v];
29
+ }));
30
+ };
31
+
32
+ // https://mui.com/system/getting-started/the-sx-prop/#passing-the-sx-prop
33
+ // You cannot spread or concat directly because `SxProps` (typeof sx) can be an array. */
34
+ // same as [{}, ...(Array.isArray(sx) ? sx : [sx])]
35
+ exports.toNestedGlobalSelectors = toNestedGlobalSelectors;
36
+ var mergeSx = function mergeSx() {
37
+ for (var _len = arguments.length, allSx = new Array(_len), _key = 0; _key < _len; _key++) {
38
+ allSx[_key] = arguments[_key];
39
+ }
40
+ return allSx.flat();
41
+ };
42
+ exports.mergeSx = mergeSx;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridsuite/commons-ui",
3
- "version": "0.34.1",
3
+ "version": "0.35.0",
4
4
  "description": "common react components for gridsuite applications",
5
5
  "engines": {
6
6
  "npm": "<=6",
@@ -39,7 +39,6 @@
39
39
  "@mui/icons-material": "^5.5.0",
40
40
  "@mui/lab": "^5.0.0-alpha.72",
41
41
  "@mui/material": "^5.5.0",
42
- "@mui/styles": "^5.5.0",
43
42
  "notistack": "^2.0.3",
44
43
  "react-router-dom": "^6.0.0",
45
44
  "react": "^18.0.0",