@gridsuite/commons-ui 0.32.2 → 0.33.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.
@@ -347,22 +347,22 @@ var FlatParameters = function FlatParameters(_ref) {
347
347
  return /*#__PURE__*/_react["default"].createElement(_material.List, {
348
348
  className: classes.paramList
349
349
  }, paramsAsArray.map(function (param) {
350
- return /*#__PURE__*/_react["default"].createElement(_material.Tooltip, {
350
+ return /*#__PURE__*/_react["default"].createElement(_material.ListItem, {
351
+ key: param.name,
352
+ className: classes.paramListItem
353
+ }, /*#__PURE__*/_react["default"].createElement(_material.Tooltip, {
351
354
  title: /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
352
355
  id: param.name + '.desc',
353
356
  defaultMessage: param.description
354
357
  }),
355
358
  enterDelay: 1200,
356
359
  key: param.name
357
- }, /*#__PURE__*/_react["default"].createElement(_material.ListItem, {
358
- key: param.name,
359
- className: classes.paramListItem
360
360
  }, /*#__PURE__*/_react["default"].createElement(_material.Typography, {
361
361
  className: classes.paramName
362
362
  }, /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
363
363
  id: param.name,
364
364
  defaultMessage: param.name.slice(prefix.length)
365
- })), renderField(param)));
365
+ }))), renderField(param));
366
366
  }));
367
367
  };
368
368
  exports.FlatParameters = FlatParameters;
@@ -46,16 +46,6 @@ var Login = function Login(_ref) {
46
46
  var onLoginClick = _ref.onLoginClick,
47
47
  disabled = _ref.disabled;
48
48
  var classes = useStyles();
49
- function Copyright() {
50
- return /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
51
- variant: "body2",
52
- color: "textSecondary",
53
- align: "center"
54
- }, 'Copyright © ', /*#__PURE__*/_react["default"].createElement(_Link["default"], {
55
- color: "inherit",
56
- href: "#"
57
- }, "GridSuite"), ' ', new Date().getFullYear(), '.');
58
- }
59
49
  return /*#__PURE__*/_react["default"].createElement(_Container["default"], {
60
50
  component: "main",
61
51
  maxWidth: "xs"
@@ -80,7 +70,14 @@ var Login = function Login(_ref) {
80
70
  defaultMessage: 'connection'
81
71
  }))), /*#__PURE__*/_react["default"].createElement(_Box["default"], {
82
72
  mt: 2
83
- }, /*#__PURE__*/_react["default"].createElement(Copyright, null)));
73
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
74
+ variant: "body2",
75
+ color: "textSecondary",
76
+ align: "center"
77
+ }, 'Copyright © ', /*#__PURE__*/_react["default"].createElement(_Link["default"], {
78
+ color: "inherit",
79
+ href: "#"
80
+ }, "GridSuite"), ' ', new Date().getFullYear(), '.')));
84
81
  };
85
82
  var _default = Login;
86
83
  exports["default"] = _default;
@@ -364,11 +364,15 @@ var MuiVirtualizedTable = /*#__PURE__*/function (_React$PureComponent) {
364
364
  var prefiltered = preFilterData(columns, _this.props.rows, _this.props.filter, indexer, indexer.filterVersion);
365
365
  var colStat = prefiltered === null || prefiltered === void 0 ? void 0 : (_prefiltered$colsStat2 = prefiltered.colsStats) === null || _prefiltered$colsStat2 === void 0 ? void 0 : _prefiltered$colsStat2[colKey];
366
366
  var filterLevel = 0;
367
- if (colStat === null || colStat === void 0 ? void 0 : colStat.seen) {
368
- var countSeen = Object.getOwnPropertyNames(colStat.seen).length;
369
- var userSelectedCount = userParams === null || userParams === void 0 ? void 0 : userParams.length;
370
- filterLevel += userSelectedCount ? 1 : 0;
371
- filterLevel += userSelectedCount >= countSeen ? 2 : 0;
367
+ if (userParams === null || userParams === void 0 ? void 0 : userParams.length) {
368
+ filterLevel += 1;
369
+ if (!(colStat === null || colStat === void 0 ? void 0 : colStat.seen)) {
370
+ filterLevel += 2;
371
+ } else if (userParams.filter(function (v) {
372
+ return !colStat.seen[v];
373
+ }).length) {
374
+ filterLevel += 2;
375
+ }
372
376
  }
373
377
 
374
378
  // disable filtering when either:
@@ -401,13 +405,13 @@ var MuiVirtualizedTable = /*#__PURE__*/function (_React$PureComponent) {
401
405
  }, label);
402
406
  });
403
407
  _defineProperty(_assertThisInitialized(_this), "getRowClassName", function (_ref5) {
404
- var _rowGetter, _rowGetter2, _clsx;
408
+ var _rowGetter, _clsx;
405
409
  var index = _ref5.index,
406
410
  rowGetter = _ref5.rowGetter;
407
411
  var _this$props = _this.props,
408
412
  classes = _this$props.classes,
409
413
  onRowClick = _this$props.onRowClick;
410
- return (0, _clsx3["default"])(classes.tableRow, classes.flexContainer, index % 2 === 0 && classes.rowBackgroundDark, index % 2 !== 0 && classes.rowBackgroundLight, ((_rowGetter = rowGetter(index)) === null || _rowGetter === void 0 ? void 0 : _rowGetter.notClickable) === true && classes.noClick, (_clsx = {}, _clsx[classes.tableRowHover] = index !== -1 && onRowClick != null && !(((_rowGetter2 = rowGetter(index)) === null || _rowGetter2 === void 0 ? void 0 : _rowGetter2.notClickable) === true), _clsx));
414
+ return (0, _clsx3["default"])(classes.tableRow, classes.flexContainer, index % 2 === 0 && classes.rowBackgroundDark, index % 2 !== 0 && classes.rowBackgroundLight, ((_rowGetter = rowGetter(index)) === null || _rowGetter === void 0 ? void 0 : _rowGetter.notClickable) === true && classes.noClick, (_clsx = {}, _clsx[classes.tableRowHover] = index !== -1 && onRowClick != null, _clsx));
411
415
  });
412
416
  _defineProperty(_assertThisInitialized(_this), "onClickableRowClick", function (event) {
413
417
  var _event$rowData;
@@ -447,7 +451,7 @@ var MuiVirtualizedTable = /*#__PURE__*/function (_React$PureComponent) {
447
451
  tooltipStyle: classes.cellTooltip
448
452
  }));
449
453
  });
450
- _defineProperty(_assertThisInitialized(_this), "makeSizedTable", function (height, width, sizes, reorderedIndex, _rowGetter3) {
454
+ _defineProperty(_assertThisInitialized(_this), "makeSizedTable", function (height, width, sizes, reorderedIndex, _rowGetter2) {
451
455
  var _reorderedIndex$lengt;
452
456
  var _this$props3 = _this.props,
453
457
  sort = _this$props3.sort,
@@ -468,12 +472,12 @@ var MuiVirtualizedTable = /*#__PURE__*/function (_React$PureComponent) {
468
472
  var index = _ref7.index;
469
473
  return _this.getRowClassName({
470
474
  index: index,
471
- rowGetter: _rowGetter3
475
+ rowGetter: _rowGetter2
472
476
  });
473
477
  },
474
478
  rowGetter: function rowGetter(_ref8) {
475
479
  var index = _ref8.index;
476
- return _rowGetter3(index);
480
+ return _rowGetter2(index);
477
481
  }
478
482
  }), otherProps.columns.map(function (_ref9, index) {
479
483
  var dataKey = _ref9.dataKey,
@@ -9,6 +9,7 @@ var _TreeItem = _interopRequireDefault(require("@mui/lab/TreeItem"));
9
9
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
10
10
  var _Label = _interopRequireDefault(require("@mui/icons-material/Label"));
11
11
  var _reportTreeViewContext = _interopRequireDefault(require("./report-tree-view-context"));
12
+ var _system = require("@mui/system");
12
13
  var _excluded = ["labelText", "labelIconColor"];
13
14
  /**
14
15
  * Copyright (c) 2021, RTE (http://www.rte-france.com)
@@ -27,23 +28,30 @@ var useReportItemStyles = (0, _makeStyles["default"])(function (theme) {
27
28
  color: theme.palette.text.secondary,
28
29
  '&:hover > $content': {
29
30
  backgroundColor: theme.palette.action.hover
30
- },
31
- '&:focus > $content, &$selected > $content': {
32
- backgroundColor: "var(--tree-view-bg-color, " + theme.palette.grey[400] + ")",
33
- color: 'var(--tree-view-color)'
34
- },
35
- '&:focus > $content $label, &:hover > $content $label, &$selected > $content $label': {
36
- backgroundColor: 'transparent'
37
31
  }
38
32
  },
39
33
  content: {
40
34
  color: theme.palette.text.secondary,
41
- borderTopRightRadius: theme.spacing(2),
42
- borderBottomRightRadius: theme.spacing(2),
35
+ borderRadius: theme.spacing(2),
36
+ width: 'fit-content',
43
37
  paddingRight: theme.spacing(1),
44
38
  fontWeight: theme.typography.fontWeightMedium,
45
- '$expanded > &': {
39
+ '&$expanded': {
46
40
  fontWeight: theme.typography.fontWeightRegular
41
+ },
42
+ /* &&.Mui-focused to increase specifity because mui5 has a rule for &.Mui-selected.Mui-focused */
43
+ /* &&$selected to increase specifity because we have a rule for &:hover > $content on root */
44
+ '&&.Mui-focused, &&$selected': {
45
+ backgroundColor: "var(--tree-view-bg-color, " + theme.palette.action.selected + ")",
46
+ color: 'var(--tree-view-color)'
47
+ },
48
+ // same as mui v4 behavior on label text only right after clicking in contrast to after moving away with arrow keys.
49
+ '&$selected $label:hover, &$selected.Mui-focused $label': {
50
+ borderRadius: theme.spacing(2),
51
+ backgroundColor: (0, _system.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity)
52
+ },
53
+ '&.Mui-focused $label, &:hover $label, &$selected $label': {
54
+ backgroundColor: 'transparent'
47
55
  }
48
56
  },
49
57
  group: {
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.useDebounce = void 0;
5
+ var _react = require("react");
6
+ var _utils = require("@mui/material/utils");
7
+ /**
8
+ * Copyright (c) 2023, RTE (http://www.rte-france.com)
9
+ * This Source Code Form is subject to the terms of the Mozilla Public
10
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
11
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
12
+ */
13
+
14
+ var useDebounce = function useDebounce(func, delay) {
15
+ if (delay === void 0) {
16
+ delay = 700;
17
+ }
18
+ var debouncedChangeHandler = (0, _react.useMemo)(function () {
19
+ return (0, _utils.debounce)(func, delay);
20
+ }, [func, delay]);
21
+
22
+ // Stop the invocation of the debounced function after unmounting
23
+
24
+ (0, _react.useEffect)(function () {
25
+ return function () {
26
+ debouncedChangeHandler.clear();
27
+ };
28
+ }, [debouncedChangeHandler]);
29
+ return debouncedChangeHandler;
30
+ };
31
+ exports.useDebounce = useDebounce;
package/lib/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.useSnackMessage = exports.useIntlRef = exports.useImportExportParams = exports.treeview_finder_fr = exports.treeview_finder_en = exports.top_bar_fr = exports.top_bar_en = exports.table_fr = exports.table_en = exports.setSignInCallbackError = exports.setLoggedUser = exports.report_viewer_fr = exports.report_viewer_en = exports.makeDeltaMap = exports.logout = exports.login_fr = exports.login_en = exports.initializeAuthenticationProd = exports.initializeAuthenticationDev = exports.getPreLoginPath = exports.getFileIcon = exports.getEquipmentsInfosForSearchBar = exports.extractDefaultMap = exports.equipment_search_fr = exports.equipment_search_en = exports.equipmentStyles = exports.element_search_fr = exports.element_search_en = exports.elementType = exports.dispatchUser = exports.card_error_boundary_fr = exports.card_error_boundary_en = exports.USER_VALIDATION_ERROR = exports.USER = exports.UNAUTHORIZED_USER_INFO = exports.TreeViewFinder = exports.TopBar = exports.TagRenderer = exports.SnackbarProvider = exports.SIGNIN_CALLBACK_ERROR = exports.SHOW_AUTH_INFO_LOGIN = exports.ReportViewerDialog = exports.ReportViewer = exports.RESET_AUTHENTICATION_ROUTER_ERROR = exports.OverflowableText = exports.MuiVirtualizedTable = exports.LOGOUT_ERROR = exports.LIGHT_THEME = exports.LANG_SYSTEM = exports.LANG_FRENCH = exports.LANG_ENGLISH = exports.KeyedColumnsRowIndexer = exports.FlatParameters = exports.EquipmentItem = exports.ElementSearchDialog = exports.EQUIPMENT_TYPE = exports.DEFAULT_ROW_HEIGHT = exports.DEFAULT_HEADER_HEIGHT = exports.DEFAULT_CELL_PADDING = exports.DARK_THEME = exports.CardErrorBoundary = exports.CHANGE_WAYS = exports.AuthenticationRouter = void 0;
4
+ exports.useSnackMessage = exports.useIntlRef = exports.useDebounce = exports.treeview_finder_fr = exports.treeview_finder_en = exports.top_bar_fr = exports.top_bar_en = exports.table_fr = exports.table_en = exports.setSignInCallbackError = exports.setLoggedUser = exports.report_viewer_fr = exports.report_viewer_en = exports.logout = exports.login_fr = exports.login_en = exports.initializeAuthenticationProd = exports.initializeAuthenticationDev = exports.getPreLoginPath = exports.getFileIcon = exports.getEquipmentsInfosForSearchBar = exports.equipment_search_fr = exports.equipment_search_en = exports.equipmentStyles = exports.element_search_fr = exports.element_search_en = exports.elementType = exports.dispatchUser = exports.card_error_boundary_fr = exports.card_error_boundary_en = exports.USER_VALIDATION_ERROR = exports.USER = exports.UNAUTHORIZED_USER_INFO = exports.TreeViewFinder = exports.TopBar = exports.TagRenderer = exports.SnackbarProvider = exports.SIGNIN_CALLBACK_ERROR = exports.SHOW_AUTH_INFO_LOGIN = exports.ReportViewerDialog = exports.ReportViewer = exports.RESET_AUTHENTICATION_ROUTER_ERROR = exports.OverflowableText = exports.MuiVirtualizedTable = exports.LOGOUT_ERROR = exports.LIGHT_THEME = exports.LANG_SYSTEM = exports.LANG_FRENCH = exports.LANG_ENGLISH = exports.KeyedColumnsRowIndexer = exports.FlatParameters = exports.EquipmentItem = exports.ElementSearchDialog = exports.EQUIPMENT_TYPE = exports.DEFAULT_ROW_HEIGHT = exports.DEFAULT_HEADER_HEIGHT = exports.DEFAULT_CELL_PADDING = exports.DARK_THEME = exports.CardErrorBoundary = exports.CHANGE_WAYS = exports.AuthenticationRouter = void 0;
5
5
  var _TreeViewFinder = _interopRequireDefault(require("./components/TreeViewFinder"));
6
6
  exports.TreeViewFinder = _TreeViewFinder["default"];
7
7
  var _TopBar = _interopRequireDefault(require("./components/TopBar"));
@@ -94,14 +94,12 @@ var _equipmentItem = require("./components/ElementSearchDialog/equipment-item");
94
94
  exports.EquipmentItem = _equipmentItem.EquipmentItem;
95
95
  var _CardErrorBoundary = _interopRequireDefault(require("./components/CardErrorBoundary"));
96
96
  exports.CardErrorBoundary = _CardErrorBoundary["default"];
97
- var _useImportExportParams = require("./hooks/useImportExportParams");
98
- exports.useImportExportParams = _useImportExportParams.useImportExportParams;
99
- exports.makeDeltaMap = _useImportExportParams.makeDeltaMap;
100
- exports.extractDefaultMap = _useImportExportParams.extractDefaultMap;
101
97
  var _useIntlRef = require("./hooks/useIntlRef");
102
98
  exports.useIntlRef = _useIntlRef.useIntlRef;
103
99
  var _useSnackMessage = require("./hooks/useSnackMessage");
104
100
  exports.useSnackMessage = _useSnackMessage.useSnackMessage;
101
+ var _useDebounce = require("./hooks/useDebounce");
102
+ exports.useDebounce = _useDebounce.useDebounce;
105
103
  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); }
106
104
  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; }
107
105
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridsuite/commons-ui",
3
- "version": "0.32.2",
3
+ "version": "0.33.0",
4
4
  "description": "common react components for gridsuite applications",
5
5
  "engines": {
6
6
  "npm": "<=6",
@@ -1,144 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.extractDefaultMap = extractDefaultMap;
5
- exports.makeDeltaMap = makeDeltaMap;
6
- exports.useImportExportParams = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _FlatParameters = _interopRequireWildcard(require("../components/FlatParameters/FlatParameters"));
9
- 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); }
10
- 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; }
11
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /**
12
- * Copyright (c) 2022, RTE (http://www.rte-france.com)
13
- * This Source Code Form is subject to the terms of the Mozilla Public
14
- * License, v. 2.0. If a copy of the MPL was not distributed with this
15
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
16
- */ // Hook taking an array of parameters with this format
17
- // [{"name":"nameOfParam","type":"typeOfParam","description":"descriptionOfParam","defaultValue":"defaultValue","possibleValues":[arrayOfPossibleValue]}]
18
- // Returns :
19
- // - an object containing those modified values to be able to send them to a backend
20
- // - a render of a form allowing to modify those values
21
- // - a function allowing to reset the fields
22
- function areEquivDeeply(a, b) {
23
- if (a === b) {
24
- return true;
25
- }
26
- var aIsArray = Array.isArray(a);
27
- var bIsArray = Array.isArray(b);
28
- if (aIsArray || bIsArray) {
29
- if (aIsArray && bIsArray && a.length === b.length) {
30
- var i = 0;
31
- while (i < a.length && areEquivDeeply(a[i], b[i])) {
32
- ++i;
33
- }
34
- if (i >= a.length) {
35
- return true;
36
- }
37
- }
38
- return false;
39
- }
40
- if (typeof a !== 'object' || typeof b !== 'object') {
41
- return false;
42
- }
43
- return areEquivDeeply(Object.entries(a), Object.entries(b));
44
- }
45
- function extractDefaultMap(paramsAsArray) {
46
- return Object.fromEntries(paramsAsArray.map(function (paramDescription) {
47
- return [paramDescription.name, (0, _FlatParameters.extractDefault)(paramDescription)];
48
- }));
49
- }
50
- function makeDeltaMap(defaultMap, changingMap) {
51
- if (!changingMap) {
52
- return null;
53
- }
54
- var delta = {};
55
- Object.entries(defaultMap).forEach(function (_ref) {
56
- var k = _ref[0],
57
- v = _ref[1];
58
- var m = changingMap[k];
59
- if (!areEquivDeeply(v, m)) {
60
- delta[k] = m;
61
- }
62
- });
63
- return Object.keys(delta).length ? delta : null;
64
- }
65
- function makeFullMap(defaultMap, changingMap) {
66
- if (!changingMap) {
67
- return _extends({}, defaultMap);
68
- }
69
- var full = {};
70
- Object.entries(defaultMap).forEach(function (_ref2) {
71
- var k = _ref2[0],
72
- v = _ref2[1];
73
- if (!changingMap.hasOwnProperty(k)) {
74
- full[k] = v;
75
- } else {
76
- var m = changingMap[k];
77
- if (!areEquivDeeply(v, m)) {
78
- full[k] = m;
79
- } else {
80
- full[k] = v;
81
- }
82
- }
83
- });
84
- return full;
85
- }
86
- var useImportExportParams = function useImportExportParams(paramsAsArray, initValues, returnsDelta, variant) {
87
- if (returnsDelta === void 0) {
88
- returnsDelta = true;
89
- }
90
- if (variant === void 0) {
91
- variant = 'outlined';
92
- }
93
- var defaultValues = (0, _react.useMemo)(function () {
94
- return extractDefaultMap(paramsAsArray);
95
- }, [paramsAsArray]);
96
- var baseValues = (0, _react.useMemo)(function () {
97
- return makeFullMap(defaultValues, initValues);
98
- }, [defaultValues, initValues]);
99
- var _useState = (0, _react.useState)(baseValues),
100
- currentValues = _useState[0],
101
- setCurrentValues = _useState[1];
102
- var prevRef = (0, _react.useRef)();
103
- var onChange = (0, _react.useCallback)(function (paramName, value, isEdit) {
104
- if (!isEdit) {
105
- setCurrentValues(function (prevCurrentValues) {
106
- var _extends2;
107
- return _extends({}, prevCurrentValues, (_extends2 = {}, _extends2[paramName] = value, _extends2));
108
- });
109
- }
110
- }, []);
111
- var resetValuesToDefault = (0, _react.useCallback)(function (isToInit) {
112
- if (isToInit === void 0) {
113
- isToInit = true;
114
- }
115
- setCurrentValues(isToInit ? baseValues : defaultValues);
116
- }, [defaultValues, baseValues]);
117
- var jsx = (0, _react.useMemo)(function () {
118
- return /*#__PURE__*/_react["default"].createElement(_FlatParameters["default"], {
119
- paramsAsArray: paramsAsArray,
120
- initValues: currentValues,
121
- onChange: onChange,
122
- variant: variant
123
- });
124
- }, [paramsAsArray, currentValues, onChange, variant]);
125
- var ret;
126
- if (prevRef.current && areEquivDeeply(prevRef.current.currentValues, currentValues)) {
127
- if (!returnsDelta) {
128
- ret = [prevRef.current.currentValues, jsx, resetValuesToDefault];
129
- } else if (!prevRef.current.deltaValues) {
130
- ret = [makeDeltaMap(defaultValues, currentValues), jsx, resetValuesToDefault];
131
- } else {
132
- ret = [prevRef.current.deltaValues, jsx, resetValuesToDefault];
133
- }
134
- } else {
135
- ret = [returnsDelta ? makeDeltaMap(defaultValues, currentValues) : currentValues, jsx, resetValuesToDefault];
136
- }
137
- prevRef.current = {
138
- currentValues: currentValues,
139
- jsx: ret[1],
140
- deltaValues: returnsDelta ? ret[0] : null
141
- };
142
- return ret;
143
- };
144
- exports.useImportExportParams = useImportExportParams;