@reltio/components 1.4.1562 → 1.4.1564

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 (57) hide show
  1. package/cjs/components/MatchRulesBlock/SimpleMatchRules/styles.d.ts +1 -1
  2. package/cjs/components/MultilineMenuItem/MultilineMenuItem.d.ts +11 -0
  3. package/cjs/components/MultilineMenuItem/MultilineMenuItem.js +49 -0
  4. package/cjs/components/MultilineMenuItem/styles.d.ts +1 -0
  5. package/cjs/components/MultilineMenuItem/styles.js +23 -0
  6. package/cjs/components/ProfileBandNavigation/ProfileBandNavigationWidget.js +2 -2
  7. package/cjs/components/ReltioGridLayout/ReltioGridLayout.d.ts +1 -9
  8. package/cjs/components/ReltioGridLayout/ReltioGridLayout.js +25 -48
  9. package/cjs/components/ReltioGridLayout/helpers.d.ts +1 -0
  10. package/cjs/components/ReltioGridLayout/helpers.js +10 -1
  11. package/cjs/components/ReltioGridLayout/styles.js +5 -0
  12. package/cjs/components/editors/DataTypeValueEditor/useEditorContext.d.ts +1 -1
  13. package/cjs/components/editors/DataTypeValueEditor/useEditorContext.js +2 -2
  14. package/cjs/components/editors/FilterEditor/FilterValueEditor.js +1 -2
  15. package/cjs/components/editors/NumberEditor/NumberEditor.d.ts +12 -20
  16. package/cjs/components/editors/NumberEditor/NumberEditor.js +12 -27
  17. package/cjs/components/editors/TextEditor/TextEditor.d.ts +2 -2
  18. package/cjs/components/editors/TextEditor/TextEditor.js +1 -1
  19. package/cjs/components/index.d.ts +1 -0
  20. package/cjs/components/index.js +3 -1
  21. package/cjs/constants/prop-types.d.ts +0 -6
  22. package/cjs/constants/prop-types.js +1 -8
  23. package/cjs/hooks/index.d.ts +1 -0
  24. package/cjs/hooks/index.js +3 -1
  25. package/cjs/hooks/useLayoutResetter.d.ts +10 -0
  26. package/cjs/hooks/useLayoutResetter.js +23 -0
  27. package/cjs/hooks/useSnackbar.d.ts +4 -1
  28. package/cjs/hooks/useSnackbar.js +13 -6
  29. package/esm/components/MatchRulesBlock/SimpleMatchRules/styles.d.ts +1 -1
  30. package/esm/components/MultilineMenuItem/MultilineMenuItem.d.ts +11 -0
  31. package/esm/components/MultilineMenuItem/MultilineMenuItem.js +21 -0
  32. package/esm/components/MultilineMenuItem/styles.d.ts +1 -0
  33. package/esm/components/MultilineMenuItem/styles.js +20 -0
  34. package/esm/components/ProfileBandNavigation/ProfileBandNavigationWidget.js +2 -2
  35. package/esm/components/ReltioGridLayout/ReltioGridLayout.d.ts +1 -9
  36. package/esm/components/ReltioGridLayout/ReltioGridLayout.js +27 -50
  37. package/esm/components/ReltioGridLayout/helpers.d.ts +1 -0
  38. package/esm/components/ReltioGridLayout/helpers.js +9 -0
  39. package/esm/components/ReltioGridLayout/styles.js +5 -0
  40. package/esm/components/editors/DataTypeValueEditor/useEditorContext.d.ts +1 -1
  41. package/esm/components/editors/DataTypeValueEditor/useEditorContext.js +3 -3
  42. package/esm/components/editors/FilterEditor/FilterValueEditor.js +1 -2
  43. package/esm/components/editors/NumberEditor/NumberEditor.d.ts +12 -20
  44. package/esm/components/editors/NumberEditor/NumberEditor.js +13 -28
  45. package/esm/components/editors/TextEditor/TextEditor.d.ts +2 -2
  46. package/esm/components/editors/TextEditor/TextEditor.js +1 -1
  47. package/esm/components/index.d.ts +1 -0
  48. package/esm/components/index.js +1 -0
  49. package/esm/constants/prop-types.d.ts +0 -6
  50. package/esm/constants/prop-types.js +1 -7
  51. package/esm/hooks/index.d.ts +1 -0
  52. package/esm/hooks/index.js +1 -0
  53. package/esm/hooks/useLayoutResetter.d.ts +10 -0
  54. package/esm/hooks/useLayoutResetter.js +16 -0
  55. package/esm/hooks/useSnackbar.d.ts +4 -1
  56. package/esm/hooks/useSnackbar.js +13 -6
  57. package/package.json +3 -3
@@ -1,2 +1,2 @@
1
- declare const styles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"title" | "container" | "negativeRuleIcon" | "labelsContainer" | "matchRuleInfo" | "matchRuleLabel" | "relevanceScore">;
1
+ declare const styles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"title" | "relevanceScore" | "container" | "negativeRuleIcon" | "labelsContainer" | "matchRuleInfo" | "matchRuleLabel">;
2
2
  export default styles;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ item: {
4
+ primary: string;
5
+ secondary: string;
6
+ onClick: () => void;
7
+ };
8
+ onMenuClose?: () => void;
9
+ };
10
+ declare const MultilineMenuItem: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLLIElement>>;
11
+ export default MultilineMenuItem;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ var react_1 = __importStar(require("react"));
30
+ var MenuItem_1 = __importDefault(require("@material-ui/core/MenuItem"));
31
+ var ListItemText_1 = __importDefault(require("@material-ui/core/ListItemText"));
32
+ var core_1 = require("../../core");
33
+ var styles_1 = require("./styles");
34
+ var MultilineMenuItem = (0, react_1.forwardRef)(function (_a, ref) {
35
+ var item = _a.item, _b = _a.onMenuClose, onMenuClose = _b === void 0 ? core_1.noop : _b;
36
+ var styles = (0, styles_1.useStyles)();
37
+ var primary = item.primary, secondary = item.secondary, onClick = item.onClick;
38
+ var handleClick = function () {
39
+ onMenuClose();
40
+ onClick();
41
+ };
42
+ return (react_1.default.createElement(MenuItem_1.default, { className: styles.menuItem, ref: ref, onClick: handleClick },
43
+ react_1.default.createElement(ListItemText_1.default, { primary: primary, secondary: secondary, className: styles.itemText, classes: {
44
+ primary: styles.textPrimary,
45
+ secondary: styles.textSecondary
46
+ } })));
47
+ });
48
+ MultilineMenuItem.displayName = 'MultilineMenuItem';
49
+ exports.default = MultilineMenuItem;
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"menuItem" | "textPrimary" | "textSecondary" | "itemText">;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useStyles = void 0;
4
+ var styles_1 = require("@material-ui/core/styles");
5
+ exports.useStyles = (0, styles_1.makeStyles)(function () { return ({
6
+ menuItem: {
7
+ whiteSpace: 'inherit',
8
+ width: 200,
9
+ padding: '9px 12px 7px'
10
+ },
11
+ itemText: {
12
+ margin: 0
13
+ },
14
+ textPrimary: {
15
+ fontSize: 14,
16
+ lineHeight: '16px',
17
+ fontWeight: 500
18
+ },
19
+ textSecondary: {
20
+ fontSize: 10,
21
+ lineHeight: '12px'
22
+ }
23
+ }); });
@@ -58,7 +58,7 @@ var ProfileBandNavigationWidget = function (_a) {
58
58
  (0, mdm_sdk_1.formatNumberAsMetric)(total, 1000000),
59
59
  " ",
60
60
  total === 1 ? SEARCH_RESULT : SEARCH_RESULTS),
61
- react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, { size: "L", icon: KeyboardArrowLeft_1.default, tooltipTitle: PREVIOUS_PROFILE, onClick: onPrev, disabled: isPrevDisabled, showForDisabled: true }),
62
- react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, { size: "L", icon: KeyboardArrowRight_1.default, tooltipTitle: NEXT_PROFILE, onClick: onNext, disabled: isNextDisabled, showForDisabled: true })));
61
+ react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, { size: "L", icon: KeyboardArrowLeft_1.default, "data-reltio-id": "reltio-previous-profile-button", tooltipTitle: PREVIOUS_PROFILE, onClick: onPrev, disabled: isPrevDisabled, showForDisabled: true }),
62
+ react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, { size: "L", icon: KeyboardArrowRight_1.default, "data-reltio-id": "reltio-next-profile-button", tooltipTitle: NEXT_PROFILE, onClick: onNext, disabled: isNextDisabled, showForDisabled: true })));
63
63
  };
64
64
  exports.ProfileBandNavigationWidget = ProfileBandNavigationWidget;
@@ -20,14 +20,6 @@ type Props<ViewConfig = Record<string, unknown>> = {
20
20
  };
21
21
  declare const _default: React.MemoExoticComponent<{
22
22
  ({ views, layout, layoutOptions, onLayoutChanged, draggableHandle, LayoutItem, onRemove, onDrop, droppingItem, isDroppable, isStatic, classes }: Props<Record<string, unknown>>): JSX.Element;
23
- defaultProps: {
24
- layoutOptions: {
25
- cols: number;
26
- rowHeight: number;
27
- margin: number[];
28
- };
29
- onLayoutChanged: any;
30
- classes: {};
31
- };
23
+ displayName: string;
32
24
  }>;
33
25
  export default _default;
@@ -43,19 +43,25 @@ var react_resize_detector_1 = __importDefault(require("react-resize-detector"));
43
43
  var ramda_1 = require("ramda");
44
44
  var classnames_1 = __importDefault(require("classnames"));
45
45
  var helpers_1 = require("./helpers");
46
+ var core_1 = require("../../core");
46
47
  var styles_1 = require("./styles");
48
+ var DEFAULT_LAYOUT_OPTIONS = {
49
+ cols: 4,
50
+ rowHeight: 30,
51
+ margin: [15, 15]
52
+ };
47
53
  var ReltioGridLayout = function (_a) {
48
54
  var _b;
49
- var views = _a.views, layout = _a.layout, layoutOptions = _a.layoutOptions, onLayoutChanged = _a.onLayoutChanged, draggableHandle = _a.draggableHandle, LayoutItem = _a.LayoutItem, onRemove = _a.onRemove, onDrop = _a.onDrop, droppingItem = _a.droppingItem, isDroppable = _a.isDroppable, isStatic = _a.isStatic, classes = _a.classes;
55
+ var views = _a.views, layout = _a.layout, _c = _a.layoutOptions, layoutOptions = _c === void 0 ? DEFAULT_LAYOUT_OPTIONS : _c, _d = _a.onLayoutChanged, onLayoutChanged = _d === void 0 ? core_1.noop : _d, draggableHandle = _a.draggableHandle, LayoutItem = _a.LayoutItem, onRemove = _a.onRemove, onDrop = _a.onDrop, droppingItem = _a.droppingItem, isDroppable = _a.isDroppable, isStatic = _a.isStatic, classes = _a.classes;
50
56
  var ref = (0, react_1.useRef)();
51
57
  var heightsMap = (0, react_1.useRef)({});
52
58
  var styles = (0, styles_1.useStyles)();
53
- var _c = (0, react_1.useState)(null), resizingItemId = _c[0], setResizingItemId = _c[1];
54
- var _d = (0, react_1.useState)(null), fullscreenItemId = _d[0], setFullscreenItemId = _d[1];
55
- var _e = (0, react_1.useState)(0), width = _e[0], setWidth = _e[1];
59
+ var _e = (0, react_1.useState)(null), resizingItemId = _e[0], setResizingItemId = _e[1];
60
+ var _f = (0, react_1.useState)(null), fullscreenItemId = _f[0], setFullscreenItemId = _f[1];
61
+ var _g = (0, react_1.useState)(0), width = _g[0], setWidth = _g[1];
56
62
  var cols = layoutOptions.cols, rowHeight = layoutOptions.rowHeight, margin = layoutOptions.margin;
57
63
  var processedLayout = (0, react_1.useMemo)(function () { return (0, helpers_1.reltioLayoutToReactGridLayout)(layout); }, [layout]);
58
- var onReltioLayoutChanged = (0, ramda_1.pipe)(helpers_1.reactGridLayoutToReltioLayout, (0, helpers_1.copyPropsFromPreviousLayout)(['autosizing'], layout), onLayoutChanged);
64
+ var onReltioLayoutChanged = (0, ramda_1.pipe)(helpers_1.reactGridLayoutToReltioLayout, (0, helpers_1.copyPropsFromPreviousLayout)(['autosizing'], layout), (0, ramda_1.ifElse)((0, ramda_1.always)(isStatic), (0, helpers_1.alignGroupedItemsHeights)(heightsMap.current), (0, helpers_1.calcLayoutItemsHeight)(heightsMap.current)), onLayoutChanged);
59
65
  var handleDrop = function (layout, layoutItem, e) {
60
66
  if (onDrop) {
61
67
  onDrop((0, helpers_1.reactGridLayoutToReltioLayout)(layout), (0, helpers_1.reactGridLayoutItemToReltioLayoutItem)(layoutItem), e);
@@ -63,44 +69,18 @@ var ReltioGridLayout = function (_a) {
63
69
  };
64
70
  var onToggleFullscreen = (0, react_1.useCallback)(function (id) { return setFullscreenItemId(function (prevId) { return (prevId ? null : id); }); }, []);
65
71
  var isFullscreenEnabled = fullscreenItemId !== null;
66
- var onItemHeightResizeInGroupingMode = (0, react_1.useCallback)(function (height, layoutId) {
67
- if (height) {
68
- heightsMap.current[layoutId] = (0, helpers_1.calcHeight)(height, layoutOptions);
69
- var alignedLayout = (0, helpers_1.alignGroupedItemsHeights)(heightsMap.current, layout);
70
- if (!(0, ramda_1.equals)(alignedLayout, layout)) {
71
- onLayoutChanged(alignedLayout);
72
- }
73
- }
74
- }, [layout, layoutOptions, onLayoutChanged]);
75
- var onItemHeightResize = (0, react_1.useCallback)(function (height, layoutId) {
76
- var isLayoutChanged = false;
77
- var newLayout = layout.map(function (layoutItem) {
78
- if (layoutItem.id === layoutId && height) {
72
+ var getAutosizeComponent = function (layoutItemId) { return (react_1.default.createElement(react_resize_detector_1.default, { handleHeight: true, onResize: function (_, height) {
73
+ if (height) {
79
74
  var newHeight = (0, helpers_1.calcHeight)(height, layoutOptions);
80
- if (layoutItem.height !== newHeight) {
81
- isLayoutChanged = true;
82
- return __assign(__assign({}, layoutItem), { minHeight: newHeight, maxHeight: newHeight, height: newHeight });
75
+ if (newHeight !== heightsMap.current[layoutItemId]) {
76
+ heightsMap.current[layoutItemId] = newHeight;
77
+ onReltioLayoutChanged(processedLayout);
83
78
  }
84
79
  }
85
- return layoutItem;
86
- });
87
- if (isLayoutChanged) {
88
- onLayoutChanged(newLayout);
89
- }
90
- }, [layout, layoutOptions, onLayoutChanged]);
91
- var getAutosizeComponent = function (layoutItemId) {
92
- return (react_1.default.createElement(react_resize_detector_1.default, { handleHeight: true, onResize: function (width, height) {
93
- if (isStatic) {
94
- onItemHeightResizeInGroupingMode(height, layoutItemId);
95
- }
96
- else {
97
- onItemHeightResize(height, layoutItemId);
98
- }
99
- } }));
100
- };
80
+ } })); };
101
81
  return (react_1.default.createElement(react_1.default.Fragment, null,
102
82
  react_1.default.createElement(react_resize_detector_1.default, { refreshMode: "debounce", refreshRate: 50, handleWidth: true, onResize: function (width) { return setWidth(width); } }),
103
- !!width && (react_1.default.createElement(react_grid_layout_1.default, { innerRef: ref, layout: processedLayout, cols: cols, draggableHandle: draggableHandle, autoSize: true, rowHeight: rowHeight, width: width, margin: margin, onLayoutChange: isStatic ? undefined : onReltioLayoutChanged, isResizable: !isStatic && !isFullscreenEnabled, isDraggable: !isStatic && !isFullscreenEnabled, className: (0, classnames_1.default)(classes.root, styles.gridLayout, (_b = {},
83
+ !!width && (react_1.default.createElement(react_grid_layout_1.default, { innerRef: ref, layout: processedLayout, cols: cols, draggableHandle: draggableHandle, autoSize: true, rowHeight: rowHeight, width: width, margin: margin, onLayoutChange: isStatic ? undefined : onReltioLayoutChanged, isResizable: !isStatic && !isFullscreenEnabled, isDraggable: !isStatic && !isFullscreenEnabled, className: (0, classnames_1.default)(classes === null || classes === void 0 ? void 0 : classes.root, styles.gridLayout, (_b = {},
104
84
  _b[styles.gridFullscreen] = isFullscreenEnabled,
105
85
  _b)), onDrop: handleDrop, droppingItem: droppingItem, isDroppable: !isStatic && isDroppable, onResizeStart: function (_, layoutItem) { return setResizingItemId(layoutItem.i); }, onResizeStop: function () { return setResizingItemId(null); }, "data-reltio-id": "reltio-grid-layout" }, processedLayout.map(function (layoutItem) {
106
86
  var _a;
@@ -110,16 +90,13 @@ var ReltioGridLayout = function (_a) {
110
90
  var autosizeComponent = isAutosize
111
91
  ? { AutosizeComponent: getAutosizeComponent(layoutItem.i) }
112
92
  : {};
113
- return (react_1.default.createElement(LayoutItem, __assign({ key: layoutItem.i, layoutItemConfig: layoutItem, views: views, onToggleFullscreen: onToggleFullscreen, onRemove: onRemove, className: (0, classnames_1.default)((_a = { fullscreen: isItemFullscreen }, _a[styles.isResizing] = isResizing, _a), classes.item, { static: isStatic }), isFullscreen: isItemFullscreen }, autosizeComponent)));
93
+ return (react_1.default.createElement(LayoutItem, __assign({ key: layoutItem.i, layoutItemConfig: layoutItem, views: views, onToggleFullscreen: onToggleFullscreen, onRemove: onRemove, className: (0, classnames_1.default)(classes === null || classes === void 0 ? void 0 : classes.item, (_a = {
94
+ static: isStatic,
95
+ fullscreen: isItemFullscreen
96
+ },
97
+ _a[styles.isResizing] = isResizing,
98
+ _a)), isFullscreen: isItemFullscreen }, autosizeComponent)));
114
99
  })))));
115
100
  };
116
- ReltioGridLayout.defaultProps = {
117
- layoutOptions: {
118
- cols: 4,
119
- rowHeight: 30,
120
- margin: [15, 15]
121
- },
122
- onLayoutChanged: ramda_1.identity,
123
- classes: {}
124
- };
101
+ ReltioGridLayout.displayName = 'ReltioGridLayout';
125
102
  exports.default = (0, react_1.memo)(ReltioGridLayout);
@@ -8,3 +8,4 @@ export declare const getReltioLayoutItemById: any;
8
8
  export declare const copyPropsFromPreviousLayout: any;
9
9
  export declare const calcHeight: (height: number, options: ReltioGridLayoutOptions) => number;
10
10
  export declare const alignGroupedItemsHeights: any;
11
+ export declare const calcLayoutItemsHeight: any;
@@ -22,7 +22,7 @@ var __rest = (this && this.__rest) || function (s, e) {
22
22
  return t;
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.alignGroupedItemsHeights = exports.calcHeight = exports.copyPropsFromPreviousLayout = exports.getReltioLayoutItemById = exports.reactGridLayoutToReltioLayout = exports.reltioLayoutToReactGridLayout = exports.reactGridLayoutItemToReltioLayoutItem = exports.reltioLayoutItemToReactGridLayoutItem = void 0;
25
+ exports.calcLayoutItemsHeight = exports.alignGroupedItemsHeights = exports.calcHeight = exports.copyPropsFromPreviousLayout = exports.getReltioLayoutItemById = exports.reactGridLayoutToReltioLayout = exports.reltioLayoutToReactGridLayout = exports.reactGridLayoutItemToReltioLayoutItem = exports.reltioLayoutItemToReactGridLayoutItem = void 0;
26
26
  var ramda_1 = require("ramda");
27
27
  var reltioLayoutItemToReactGridLayoutItem = function (_a) {
28
28
  var x = _a.x, y = _a.y, width = _a.width, height = _a.height, id = _a.id, minWidth = _a.minWidth, minHeight = _a.minHeight, maxWidth = _a.maxWidth, maxHeight = _a.maxHeight, isStatic = _a.isStatic;
@@ -96,3 +96,12 @@ exports.alignGroupedItemsHeights = (0, ramda_1.curry)(function (heightsMap, layo
96
96
  return layoutItem;
97
97
  });
98
98
  });
99
+ exports.calcLayoutItemsHeight = (0, ramda_1.curry)(function (heightsMap, layout) {
100
+ return layout.map(function (layoutItem) {
101
+ var height = heightsMap[layoutItem.id];
102
+ if (height && layoutItem.autosizing) {
103
+ return __assign(__assign({}, layoutItem), { minHeight: height, maxHeight: height, height: height });
104
+ }
105
+ return layoutItem;
106
+ });
107
+ });
@@ -9,6 +9,7 @@ exports.useStyles = (0, styles_1.makeStyles)(function (_) { return ({
9
9
  position: 'relative',
10
10
  width: '100%',
11
11
  '& .react-grid-item': {
12
+ overflow: 'hidden',
12
13
  '&.react-grid-placeholder': {
13
14
  background: 'rgba(0, 0, 0, 0.03)',
14
15
  border: '2px dashed rgba(0, 0, 0, 0.3)',
@@ -23,6 +24,10 @@ exports.useStyles = (0, styles_1.makeStyles)(function (_) { return ({
23
24
  '&.static .react-resizable-handle': {
24
25
  display: 'none'
25
26
  },
27
+ '&.customView .react-resizable-handle': {
28
+ width: '10px',
29
+ height: '10px'
30
+ },
26
31
  '&.cssTransforms': {
27
32
  transitionProperty: 'transform'
28
33
  },
@@ -42,7 +42,7 @@ declare function useEditorContext(fieldName: any, dataTypeDefinition: any): {
42
42
  format?: undefined;
43
43
  tenant?: undefined;
44
44
  } | {
45
- format: any;
45
+ format: import("@reltio/mdm-sdk").NumberFormat;
46
46
  entries?: undefined;
47
47
  lookups?: undefined;
48
48
  lookupCode?: undefined;
@@ -52,7 +52,7 @@ var useEditorContext = function (fieldName, dataTypeDefinition) {
52
52
  options: __assign(__assign({}, globalSearchRequestOptions), { max: max, pageNo: pageNo })
53
53
  }).then((0, ramda_1.pipe)((0, ramda_1.prop)(fieldName), ramda_1.keys));
54
54
  }, [fieldName, globalSearchRequestOptions]);
55
- var type = dataTypeDefinition.type, values = dataTypeDefinition.values, lookupCode = dataTypeDefinition.lookupCode, uri = dataTypeDefinition.uri, dependentLookupCode = dataTypeDefinition.dependentLookupCode, options = dataTypeDefinition.options;
55
+ var type = dataTypeDefinition.type, values = dataTypeDefinition.values, lookupCode = dataTypeDefinition.lookupCode, dependentLookupCode = dataTypeDefinition.dependentLookupCode, options = dataTypeDefinition.options;
56
56
  switch (type) {
57
57
  case mdm_sdk_1.DataTypes.TYPE_ENUM:
58
58
  return { entries: values.map(function (value) { return ({ value: value }); }) };
@@ -100,7 +100,7 @@ var useEditorContext = function (fieldName, dataTypeDefinition) {
100
100
  case mdm_sdk_1.DataTypes.TYPE_LONG:
101
101
  case mdm_sdk_1.DataTypes.TYPE_INT:
102
102
  return {
103
- format: attributePresentations[uri]
103
+ format: (0, mdm_sdk_1.getNumberFormat)(dataTypeDefinition, attributePresentations, mdm_sdk_1.intl.getLocale())
104
104
  };
105
105
  case mdm_sdk_1.DataTypes.TYPE_FILE:
106
106
  return { tenant: tenant };
@@ -33,11 +33,10 @@ var mdm_sdk_1 = require("@reltio/mdm-sdk");
33
33
  var ramda_1 = require("ramda");
34
34
  var RangeDataTypeValueEditor_1 = __importDefault(require("../RangeDataTypeValueEditor/RangeDataTypeValueEditor"));
35
35
  var DateRangeEditor_1 = __importDefault(require("../DateRangeEditor/DateRangeEditor"));
36
- var mdm_sdk_2 = require("@reltio/mdm-sdk");
37
36
  var toEditorValue = function (dataType) { return function (value) {
38
37
  switch (dataType) {
39
38
  case mdm_sdk_1.DataTypes.TYPE_DATE:
40
- return (0, mdm_sdk_1.isDateRangeValue)(value) ? value : mdm_sdk_2.utils.dates.toLocalDate(value);
39
+ return (0, mdm_sdk_1.isDateRangeValue)(value) ? value : mdm_sdk_1.utils.dates.toLocalDate(value);
41
40
  case mdm_sdk_1.DataTypes.TYPE_LOCAL_DATE:
42
41
  case mdm_sdk_1.DataTypes.TYPE_TIMESTAMP:
43
42
  case mdm_sdk_1.DataTypes.TYPE_ACTIVENESS_DATE:
@@ -1,21 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { NumberFormat as TNumberFormat } from '@reltio/mdm-sdk';
3
+ type NumberEditorProps = {
4
+ multiple?: boolean;
5
+ integer?: boolean;
6
+ format?: TNumberFormat;
7
+ inputProps?: Record<string, unknown>;
8
+ InputProps?: Record<string, unknown>;
9
+ value: string | number | string[] | number[] | undefined;
10
+ onChange: (value: string | number | string[] | number[]) => void;
11
+ };
12
+ declare const NumberEditor: ({ integer, format, inputProps, InputProps, ...otherProps }: NumberEditorProps) => JSX.Element;
1
13
  export default NumberEditor;
2
- declare function NumberEditor({ integer, format, inputProps, InputProps, ...otherProps }: {
3
- [x: string]: any;
4
- integer: any;
5
- format: any;
6
- inputProps: any;
7
- InputProps: any;
8
- }): JSX.Element;
9
- declare namespace NumberEditor {
10
- namespace propTypes {
11
- export const multiple: PropTypes.Requireable<boolean>;
12
- export const integer: PropTypes.Requireable<boolean>;
13
- export { NumberFormatType as format };
14
- export const inputProps: PropTypes.Requireable<object>;
15
- export const InputProps: PropTypes.Requireable<object>;
16
- export const value: PropTypes.Requireable<NonNullable<string | number | string[] | number[]>>;
17
- export const onChange: PropTypes.Requireable<(...args: any[]) => any>;
18
- }
19
- }
20
- import PropTypes from 'prop-types';
21
- import { NumberFormatType } from '../../../constants/prop-types';
@@ -25,45 +25,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
25
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- var react_number_format_1 = __importDefault(require("react-number-format"));
29
- var prop_types_1 = __importDefault(require("prop-types"));
30
28
  var react_1 = __importDefault(require("react"));
29
+ var react_number_format_1 = __importDefault(require("react-number-format"));
31
30
  var TextEditor_1 = __importDefault(require("../TextEditor/TextEditor"));
32
- var prop_types_2 = require("../../../constants/prop-types");
33
31
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
32
+ var getThousandsGroupStyle = function (groupSize) {
33
+ return ({
34
+ 2: 'lakh',
35
+ 3: 'thousand',
36
+ 4: 'wan'
37
+ }[groupSize]);
38
+ };
34
39
  var NumberFormatCustom = function (_a) {
35
- var inputRef = _a.inputRef, onChange = _a.onChange, integer = _a.integer, customInput = _a.customInput, format = _a.format, otherProps = __rest(_a, ["inputRef", "onChange", "integer", "customInput", "format"]);
36
- return (react_1.default.createElement(react_number_format_1.default, __assign({}, otherProps, format, { getInputRef: inputRef, isNumericString: true, onValueChange: function (values) {
40
+ var inputRef = _a.inputRef, onChange = _a.onChange, integer = _a.integer, customInput = _a.customInput, format = _a.format, value = _a.value, otherProps = __rest(_a, ["inputRef", "onChange", "integer", "customInput", "format", "value"]);
41
+ var _b = format || {}, strategy = _b.strategy, groupSize = _b.groupSize, restFormat = __rest(_b, ["strategy", "groupSize"]);
42
+ return (react_1.default.createElement(react_number_format_1.default, __assign({}, otherProps, { value: (0, mdm_sdk_1.applyPresentationStrategyToValue)(strategy, value), thousandsGroupStyle: getThousandsGroupStyle(groupSize) }, restFormat, { getInputRef: inputRef, isNumericString: true, onValueChange: function (values) {
37
43
  onChange({
38
44
  target: {
39
- value: values.value
45
+ value: (0, mdm_sdk_1.revertPresentationStrategyForValue)(strategy, values.value)
40
46
  }
41
47
  });
42
48
  }, decimalScale: integer ? 0 : undefined, customInput: customInput })));
43
49
  };
44
- NumberFormatCustom.propTypes = {
45
- inputRef: prop_types_1.default.func.isRequired,
46
- onChange: prop_types_1.default.func.isRequired,
47
- integer: prop_types_1.default.bool,
48
- customInput: prop_types_1.default.elementType,
49
- format: prop_types_2.NumberFormatType
50
- };
51
50
  var NumberEditor = function (_a) {
52
51
  var integer = _a.integer, format = _a.format, inputProps = _a.inputProps, InputProps = _a.InputProps, otherProps = __rest(_a, ["integer", "format", "inputProps", "InputProps"]);
53
52
  return (react_1.default.createElement(TextEditor_1.default, __assign({}, otherProps, { inputProps: __assign({ integer: integer, format: format }, inputProps), InputProps: __assign(__assign({}, InputProps), { inputComponent: NumberFormatCustom }), getValueLabel: (0, mdm_sdk_1.formatNumber)(format) })));
54
53
  };
55
- NumberEditor.propTypes = {
56
- multiple: prop_types_1.default.bool,
57
- integer: prop_types_1.default.bool,
58
- format: prop_types_2.NumberFormatType,
59
- inputProps: prop_types_1.default.object,
60
- InputProps: prop_types_1.default.object,
61
- value: prop_types_1.default.oneOfType([
62
- prop_types_1.default.string,
63
- prop_types_1.default.arrayOf(prop_types_1.default.string),
64
- prop_types_1.default.number,
65
- prop_types_1.default.arrayOf(prop_types_1.default.number)
66
- ]),
67
- onChange: prop_types_1.default.func
68
- };
69
54
  exports.default = NumberEditor;
@@ -1,10 +1,10 @@
1
1
  export default TextEditor;
2
2
  declare function TextEditor({ multiple, value, getValueLabel, multiline, ...otherProps }: {
3
3
  [x: string]: any;
4
- multiple: any;
4
+ multiple?: boolean;
5
5
  value: any;
6
6
  getValueLabel: any;
7
- multiline: any;
7
+ multiline?: boolean;
8
8
  }): JSX.Element;
9
9
  declare namespace TextEditor {
10
10
  namespace propTypes {
@@ -30,7 +30,7 @@ var react_1 = __importDefault(require("react"));
30
30
  var MultipleInput_1 = __importDefault(require("../../MultipleInput/MultipleInput"));
31
31
  var SimpleInput_1 = __importDefault(require("../../SimpleInput/SimpleInput"));
32
32
  var TextEditor = function (_a) {
33
- var multiple = _a.multiple, value = _a.value, getValueLabel = _a.getValueLabel, multiline = _a.multiline, otherProps = __rest(_a, ["multiple", "value", "getValueLabel", "multiline"]);
33
+ var _b = _a.multiple, multiple = _b === void 0 ? false : _b, value = _a.value, getValueLabel = _a.getValueLabel, _c = _a.multiline, multiline = _c === void 0 ? false : _c, otherProps = __rest(_a, ["multiple", "value", "getValueLabel", "multiline"]);
34
34
  return multiple ? (react_1.default.createElement(MultipleInput_1.default, __assign({}, otherProps, { values: value, getValueLabel: getValueLabel }))) : (react_1.default.createElement(SimpleInput_1.default, __assign({}, otherProps, { value: value, multiline: multiline })));
35
35
  };
36
36
  TextEditor.propTypes = {
@@ -149,3 +149,4 @@ export { DataTenantBadge } from './DataTenantBadge/DataTenantBadge';
149
149
  export { HierarchyNodeTitle } from './HierarchyNodeTitle/HierarchyNodeTitle';
150
150
  export { default as RequiredMark } from './RequiredMark/RequiredMark';
151
151
  export { RelevanceScoreBadge } from './RelevanceScoreBadge/RelevanceScoreBadge';
152
+ export { default as MultilineMenuItem } from './MultilineMenuItem/MultilineMenuItem';
@@ -19,7 +19,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.EmptyState = exports.NoResults = exports.NoData = exports.DropDownSelector = exports.DropDownMenuButton = exports.Drawer = exports.DataTypeValue = exports.ConnectionRelationTypeSelector = exports.ConfigureColumnsPopup = exports.MenuWithPopper = exports.MenuList = exports.LoadMoreButton = exports.DropdownIndicatorWithIconButton = exports.DropdownIndicator = exports.CommentsContainer = exports.ColorBar = exports.CollapseButton = exports.CollaborationItem = exports.ClickAwayProvider = exports.BasicViewHeader = exports.BasicViewContent = exports.BasicView = exports.ScreenProfileBand = exports.ProfileBandNavigation = exports.AvatarWithFallback = exports.AutoSizeList = exports.ReadOnlyAttributesPager = exports.SimpleAttribute = exports.ReferenceAttribute = exports.NestedAttribute = exports.EditableImageAttributesLine = exports.ImageAttributesLine = exports.ReadOnlyAttributesList = exports.ReadOnlyAttributeValuesBlock = exports.EditableAttribute = exports.ReadOnlyAttribute = exports.CardinalityMessage = exports.AttributesPager = exports.SimpleAttributeEditor = exports.RelationTypeSelector = exports.ReferenceAttributeEditor = exports.NestedAttributeEditor = exports.MoreAttributesButton = exports.EntitySelector = exports.EntityCreator = exports.AttributesList = exports.BranchDecorator = exports.DescriptionIcon = exports.AttributesView = exports.AttributeListItem = void 0;
21
21
  exports.SelectionPopupPopper = exports.SelectionPopup = exports.useKeyboardNavigation = exports.WhiteSearchInput = exports.SearchInput = exports.ProfileResizablePanes = exports.ResizablePanes = exports.ReltioGridLayout = exports.ReactSortableTreeUtils = exports.ReactSortableTreeHandlers = exports.ReactSortableTree = exports.ReactSelectOptionFilters = exports.MultiSelect = exports.QueryBuilderRowsGroup = exports.QueryBuilderRow = exports.ProfileCard = exports.ProfileBand = exports.PotentialMatchReviewCard = exports.PopupWithArrow = exports.Popper = exports.MultipleInput = exports.ModeSwitcherSelect = exports.ModeSwitcher = exports.TransitiveMatchBlock = exports.SimpleMatchRulesBlock = exports.MatchRuleVariant = exports.MatchRulesBlock = exports.LoadingSpinner = exports.Link = exports.LinearLoadIndicator = exports.ImportModes = exports.ImportButton = exports.ImageGalleryDialog = exports.Highlighter = exports.HierarchicalAttributeTooltip = exports.HideOnShrink = exports.FlipCard = exports.FacetViewHeader = exports.ExpandedValueTooltip = exports.ErrorWrapper = exports.ErrorPopup = exports.ErrorBoundary = exports.EntityUriLink = exports.RelationTypesSelector = exports.EntityTypesSelector = exports.EntityTypeIcon = exports.EntityTypeBadge = exports.EntityAvatar = exports.EMPTY_STATE_VARIANTS = exports.EMPTY_STATE_ICONS = void 0;
22
- exports.RelevanceScoreBadge = exports.RequiredMark = exports.HierarchyNodeTitle = exports.DataTenantBadge = exports.SettingsMenu = exports.TenantsDropDownSelector = exports.TenantIcon = exports.SourceSystemsSelector = exports.MatchRulesSelector = exports.MultiValueSelector = exports.DragAndDrop = exports.ConnectionEditor = exports.AttributesFiltersBuilder = exports.AttributesFiltersButton = exports.AttributeGroupIcon = exports.BasicAttributeSelector = exports.ProfilesList = exports.ActionButtonMode = exports.ActionButton = exports.NotMatchButton = exports.MergeButton = exports.ProfileMatchCard = exports.RelationEditor = exports.OvIcon = exports.ErrorMessage = exports.ReltioMap = exports.ConfirmDeleteDialog = exports.ConfirmationDialog = exports.Marginator = exports.LightArrowTooltip = exports.ArrowExpandButton = exports.ScrollableTabs = exports.ExpandableSearchInput = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.ColoredSourceIcon = exports.SourceIcon = exports.SmallIconButtonWithTooltip = exports.SmallIconButton = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = void 0;
22
+ exports.MultilineMenuItem = exports.RelevanceScoreBadge = exports.RequiredMark = exports.HierarchyNodeTitle = exports.DataTenantBadge = exports.SettingsMenu = exports.TenantsDropDownSelector = exports.TenantIcon = exports.SourceSystemsSelector = exports.MatchRulesSelector = exports.MultiValueSelector = exports.DragAndDrop = exports.ConnectionEditor = exports.AttributesFiltersBuilder = exports.AttributesFiltersButton = exports.AttributeGroupIcon = exports.BasicAttributeSelector = exports.ProfilesList = exports.ActionButtonMode = exports.ActionButton = exports.NotMatchButton = exports.MergeButton = exports.ProfileMatchCard = exports.RelationEditor = exports.OvIcon = exports.ErrorMessage = exports.ReltioMap = exports.ConfirmDeleteDialog = exports.ConfirmationDialog = exports.Marginator = exports.LightArrowTooltip = exports.ArrowExpandButton = exports.ScrollableTabs = exports.ExpandableSearchInput = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.ColoredSourceIcon = exports.SourceIcon = exports.SmallIconButtonWithTooltip = exports.SmallIconButton = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = void 0;
23
23
  __exportStar(require("./activityLog"), exports);
24
24
  var AttributeListItem_1 = require("./AttributeListItem/AttributeListItem");
25
25
  Object.defineProperty(exports, "AttributeListItem", { enumerable: true, get: function () { return __importDefault(AttributeListItem_1).default; } });
@@ -320,3 +320,5 @@ var RequiredMark_1 = require("./RequiredMark/RequiredMark");
320
320
  Object.defineProperty(exports, "RequiredMark", { enumerable: true, get: function () { return __importDefault(RequiredMark_1).default; } });
321
321
  var RelevanceScoreBadge_1 = require("./RelevanceScoreBadge/RelevanceScoreBadge");
322
322
  Object.defineProperty(exports, "RelevanceScoreBadge", { enumerable: true, get: function () { return RelevanceScoreBadge_1.RelevanceScoreBadge; } });
323
+ var MultilineMenuItem_1 = require("./MultilineMenuItem/MultilineMenuItem");
324
+ Object.defineProperty(exports, "MultilineMenuItem", { enumerable: true, get: function () { return __importDefault(MultilineMenuItem_1).default; } });
@@ -1,9 +1,3 @@
1
- export const NumberFormatType: PropTypes.Requireable<PropTypes.InferProps<{
2
- prefix: PropTypes.Requireable<string>;
3
- suffix: PropTypes.Requireable<string>;
4
- thousandSeparator: PropTypes.Requireable<string>;
5
- decimalSeparator: PropTypes.Requireable<string>;
6
- }>>;
7
1
  export const SelectValueType: PropTypes.Requireable<NonNullable<string | number | object>>;
8
2
  export const DropDownEntryType: PropTypes.Requireable<PropTypes.InferProps<{
9
3
  value: PropTypes.Validator<NonNullable<NonNullable<string | number | object>>>;
@@ -3,16 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.QueryBuilderAttributeType = exports.QueryBuilderAttributeDataType = exports.GroupedColumnsDataType = exports.ColumnsDataType = exports.ColumnFilterType = exports.SortingType = exports.ColumnDataType = exports.DropDownGroupEntryType = exports.DropDownEntryType = exports.SelectValueType = exports.NumberFormatType = void 0;
6
+ exports.QueryBuilderAttributeType = exports.QueryBuilderAttributeDataType = exports.GroupedColumnsDataType = exports.ColumnsDataType = exports.ColumnFilterType = exports.SortingType = exports.ColumnDataType = exports.DropDownGroupEntryType = exports.DropDownEntryType = exports.SelectValueType = void 0;
7
7
  var prop_types_1 = __importDefault(require("prop-types"));
8
8
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
9
- var NumberFormatType = prop_types_1.default.shape({
10
- prefix: prop_types_1.default.string,
11
- suffix: prop_types_1.default.string,
12
- thousandSeparator: prop_types_1.default.string,
13
- decimalSeparator: prop_types_1.default.string
14
- });
15
- exports.NumberFormatType = NumberFormatType;
16
9
  var SelectValueType = prop_types_1.default.oneOfType([prop_types_1.default.string, prop_types_1.default.number, prop_types_1.default.object]);
17
10
  exports.SelectValueType = SelectValueType;
18
11
  var DropDownEntryType = prop_types_1.default.shape({
@@ -24,3 +24,4 @@ export { useReadableSearchState } from './useReadableSearchState';
24
24
  export { useSavedStateForEntityType } from './useSavedStateForEntityType';
25
25
  export { useSnackbar } from './useSnackbar';
26
26
  export { useIsMountedRef } from './useIsMountedRef';
27
+ export { useLayoutResetter } from './useLayoutResetter';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useIsMountedRef = exports.useSnackbar = exports.useSavedStateForEntityType = exports.useReadableSearchState = exports.useEditableConnection = exports.useCustomScripts = exports.useMarkAsNotMatchRequest = exports.useMergeAllRequest = exports.usePagingSimulator = exports.useMatchesLoader = exports.useConfigPermissions = exports.useWhyDidYouUpdate = exports.useUsers = exports.useSavedState = exports.useSafePromise = exports.useRunOnceAfterValueInitialization = exports.useRelationsLoader = exports.useRelationTypeSelector = exports.usePrevious = exports.useDidUpdateEffect = exports.useCommentsEntitiesMap = exports.useCollaboration = exports.useAsyncMount = exports.useAPI = exports.useActions = exports.useScrollToAttributeError = void 0;
3
+ exports.useLayoutResetter = exports.useIsMountedRef = exports.useSnackbar = exports.useSavedStateForEntityType = exports.useReadableSearchState = exports.useEditableConnection = exports.useCustomScripts = exports.useMarkAsNotMatchRequest = exports.useMergeAllRequest = exports.usePagingSimulator = exports.useMatchesLoader = exports.useConfigPermissions = exports.useWhyDidYouUpdate = exports.useUsers = exports.useSavedState = exports.useSafePromise = exports.useRunOnceAfterValueInitialization = exports.useRelationsLoader = exports.useRelationTypeSelector = exports.usePrevious = exports.useDidUpdateEffect = exports.useCommentsEntitiesMap = exports.useCollaboration = exports.useAsyncMount = exports.useAPI = exports.useActions = exports.useScrollToAttributeError = void 0;
4
4
  var useScrollToAttributeError_1 = require("./useScrollToAttributeError/useScrollToAttributeError");
5
5
  Object.defineProperty(exports, "useScrollToAttributeError", { enumerable: true, get: function () { return useScrollToAttributeError_1.useScrollToAttributeError; } });
6
6
  var useActions_1 = require("./useActions");
@@ -53,3 +53,5 @@ var useSnackbar_1 = require("./useSnackbar");
53
53
  Object.defineProperty(exports, "useSnackbar", { enumerable: true, get: function () { return useSnackbar_1.useSnackbar; } });
54
54
  var useIsMountedRef_1 = require("./useIsMountedRef");
55
55
  Object.defineProperty(exports, "useIsMountedRef", { enumerable: true, get: function () { return useIsMountedRef_1.useIsMountedRef; } });
56
+ var useLayoutResetter_1 = require("./useLayoutResetter");
57
+ Object.defineProperty(exports, "useLayoutResetter", { enumerable: true, get: function () { return useLayoutResetter_1.useLayoutResetter; } });
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ type Props = {
3
+ onLayoutReset: () => void;
4
+ onResetUndo: () => void;
5
+ };
6
+ export declare const useLayoutResetter: ({ onLayoutReset, onResetUndo }: Props) => {
7
+ SnackbarRenderer: () => JSX.Element;
8
+ resetLayout: () => void;
9
+ };
10
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useLayoutResetter = void 0;
7
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
8
+ var useSnackbar_1 = require("./useSnackbar");
9
+ var useLayoutResetter = function (_a) {
10
+ var onLayoutReset = _a.onLayoutReset, onResetUndo = _a.onResetUndo;
11
+ var resetLayout = function () {
12
+ onLayoutReset();
13
+ showSnackbarMessage(ui_i18n_1.default.text("The default layout is now restored. It's still not too late to revert your changes. Click Undo to go back to your personalized settings."));
14
+ };
15
+ var _b = (0, useSnackbar_1.useSnackbar)({
16
+ onDismissClick: onResetUndo,
17
+ showDismiss: true,
18
+ autoHideDuration: 5000,
19
+ dismissTitle: ui_i18n_1.default.text('Undo')
20
+ }), SnackbarRenderer = _b.SnackbarRenderer, showSnackbarMessage = _b.showSnackbarMessage;
21
+ return { SnackbarRenderer: SnackbarRenderer, resetLayout: resetLayout };
22
+ };
23
+ exports.useLayoutResetter = useLayoutResetter;
@@ -3,8 +3,11 @@ import { SnackbarOrigin } from '@material-ui/core/Snackbar';
3
3
  type SnackbarOptions = {
4
4
  anchorOrigin?: SnackbarOrigin;
5
5
  showDismiss?: boolean;
6
+ dismissTitle?: string;
7
+ autoHideDuration?: number;
8
+ onDismissClick?: () => void;
6
9
  };
7
- export declare const useSnackbar: (options?: SnackbarOptions) => {
10
+ export declare const useSnackbar: ({ anchorOrigin, showDismiss, dismissTitle, autoHideDuration, onDismissClick }?: SnackbarOptions) => {
8
11
  SnackbarRenderer: () => JSX.Element;
9
12
  showSnackbarMessage: (message: any) => void;
10
13
  };