@reltio/components 1.4.1636 → 1.4.1638

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 (41) hide show
  1. package/cjs/components/CollaborationItem/Comment/Comment.js +2 -7
  2. package/cjs/components/CollaborationItem/RepliedComment/RepliedComment.js +2 -5
  3. package/cjs/components/StepNavigation/ProgressButton.d.ts +12 -0
  4. package/cjs/components/StepNavigation/ProgressButton.js +41 -0
  5. package/cjs/components/StepNavigation/StepNavigation.d.ts +13 -0
  6. package/cjs/components/StepNavigation/StepNavigation.js +62 -0
  7. package/cjs/components/StepNavigation/styles.d.ts +2 -0
  8. package/cjs/components/StepNavigation/styles.js +44 -0
  9. package/cjs/components/TenantLabel/TenantLabel.d.ts +6 -0
  10. package/cjs/components/TenantLabel/TenantLabel.js +23 -0
  11. package/cjs/components/TenantLabel/styles.d.ts +1 -0
  12. package/cjs/components/TenantLabel/styles.js +22 -0
  13. package/cjs/components/index.d.ts +2 -0
  14. package/cjs/components/index.js +5 -0
  15. package/cjs/hooks/index.d.ts +1 -0
  16. package/cjs/hooks/index.js +3 -1
  17. package/cjs/hooks/useAutoFocus.d.ts +2 -0
  18. package/cjs/hooks/useAutoFocus.js +15 -0
  19. package/cjs/icons/Tenant.d.ts +3 -0
  20. package/cjs/icons/Tenant.js +22 -0
  21. package/esm/components/CollaborationItem/Comment/Comment.js +3 -8
  22. package/esm/components/CollaborationItem/RepliedComment/RepliedComment.js +3 -6
  23. package/esm/components/StepNavigation/ProgressButton.d.ts +12 -0
  24. package/esm/components/StepNavigation/ProgressButton.js +36 -0
  25. package/esm/components/StepNavigation/StepNavigation.d.ts +13 -0
  26. package/esm/components/StepNavigation/StepNavigation.js +57 -0
  27. package/esm/components/StepNavigation/styles.d.ts +2 -0
  28. package/esm/components/StepNavigation/styles.js +41 -0
  29. package/esm/components/TenantLabel/TenantLabel.d.ts +6 -0
  30. package/esm/components/TenantLabel/TenantLabel.js +18 -0
  31. package/esm/components/TenantLabel/styles.d.ts +1 -0
  32. package/esm/components/TenantLabel/styles.js +19 -0
  33. package/esm/components/index.d.ts +2 -0
  34. package/esm/components/index.js +2 -0
  35. package/esm/hooks/index.d.ts +1 -0
  36. package/esm/hooks/index.js +1 -0
  37. package/esm/hooks/useAutoFocus.d.ts +2 -0
  38. package/esm/hooks/useAutoFocus.js +11 -0
  39. package/esm/icons/Tenant.d.ts +3 -0
  40. package/esm/icons/Tenant.js +17 -0
  41. package/package.json +3 -3
@@ -41,6 +41,7 @@ var CommentTarget_1 = require("../CommentTarget/CommentTarget");
41
41
  var CommentContent_1 = require("../CommentContent/CommentContent");
42
42
  var Avatar_1 = require("../Avatar/Avatar");
43
43
  var contexts_1 = require("../../../contexts");
44
+ var hooks_1 = require("../../../hooks");
44
45
  var utils_1 = require("../utils");
45
46
  var SendMessageArea_1 = require("../SendMessageArea/SendMessageArea");
46
47
  var styles_1 = require("./styles");
@@ -56,13 +57,7 @@ var Comment = function (_a) {
56
57
  var commentUri = (0, utils_1.createEditedCommentUri)(comment);
57
58
  var isEditing = getCommentState(uri, commentUri).isEditing;
58
59
  var updateIsEditingComment = (0, react_1.useCallback)(function (value) { return updateCommentState(uri, commentUri, { isEditing: value }); }, [commentUri, updateCommentState, uri]);
59
- (0, react_1.useEffect)(function () {
60
- if (isEditing) {
61
- var position = inputRef.current.value.length;
62
- inputRef.current.focus();
63
- inputRef.current.setSelectionRange(position, position);
64
- }
65
- }, [isEditing]);
60
+ (0, hooks_1.useAutoFocus)(inputRef, isEditing);
66
61
  var menuItems = (0, react_1.useMemo)(function () {
67
62
  return isResolved
68
63
  ? [
@@ -39,6 +39,7 @@ var Avatar_1 = require("../Avatar/Avatar");
39
39
  var CommentContent_1 = require("../CommentContent/CommentContent");
40
40
  var utils_1 = require("../utils");
41
41
  var contexts_1 = require("../../../contexts");
42
+ var hooks_1 = require("../../../hooks");
42
43
  var DropDownMenuButton_1 = __importDefault(require("../../DropDownMenuButton/DropDownMenuButton"));
43
44
  var SmallIconButton_1 = require("../../SmallIconButton");
44
45
  var SendMessageArea_1 = require("../SendMessageArea/SendMessageArea");
@@ -53,11 +54,7 @@ var RepliedComment = function (_a) {
53
54
  var commentUri = (0, utils_1.createEditedReplyUri)(comment, reply);
54
55
  var isEditing = getCommentState(uri, commentUri).isEditing;
55
56
  var updateIsEditingReply = (0, react_1.useCallback)(function (value) { return updateCommentState(uri, commentUri, { isEditing: value }); }, [commentUri, updateCommentState, uri]);
56
- (0, react_1.useEffect)(function () {
57
- if (isEditing) {
58
- inputRef.current.focus();
59
- }
60
- }, [isEditing]);
57
+ (0, hooks_1.useAutoFocus)(inputRef, isEditing);
61
58
  var styles = (0, styles_1.useStyles)();
62
59
  var menuItems = (0, react_1.useMemo)(function () { return [
63
60
  {
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ isInProgress: boolean;
4
+ disabled: boolean;
5
+ onClick: () => void;
6
+ circularColor?: 'primary' | 'secondary' | 'inherit';
7
+ children: React.ReactNode;
8
+ className?: string;
9
+ [key: string]: any;
10
+ };
11
+ declare const ProgressButton: ({ isInProgress, disabled, circularColor, className, children, onClick, ...otherButtonProps }: Props) => JSX.Element;
12
+ export default ProgressButton;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ var react_1 = __importDefault(require("react"));
29
+ var classnames_1 = __importDefault(require("classnames"));
30
+ var Button_1 = __importDefault(require("@mui/material/Button"));
31
+ var CircularProgress_1 = __importDefault(require("@mui/material/CircularProgress"));
32
+ var styles_1 = require("./styles");
33
+ var ProgressButton = function (_a) {
34
+ var isInProgress = _a.isInProgress, disabled = _a.disabled, _b = _a.circularColor, circularColor = _b === void 0 ? 'primary' : _b, className = _a.className, children = _a.children, onClick = _a.onClick, otherButtonProps = __rest(_a, ["isInProgress", "disabled", "circularColor", "className", "children", "onClick"]);
35
+ var styles = (0, styles_1.useStyles)();
36
+ return (react_1.default.createElement(Button_1.default, __assign({}, otherButtonProps, { className: (0, classnames_1.default)(styles.progressButtonWrapper, className), onClick: onClick, disabled: disabled || isInProgress }),
37
+ children,
38
+ isInProgress && (react_1.default.createElement("div", { className: styles.progress, "data-reltio-id": "reltio-circular-load-indicator" },
39
+ react_1.default.createElement(CircularProgress_1.default, { size: 24, color: circularColor })))));
40
+ };
41
+ exports.default = ProgressButton;
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ type Props = {
3
+ activeStep: number;
4
+ steps: Array<{
5
+ label: string;
6
+ enabled?: boolean;
7
+ }>;
8
+ isPending?: boolean;
9
+ onConfirm?: () => void;
10
+ onChangeStep: (step: number) => void;
11
+ };
12
+ declare const StepNavigation: ({ activeStep, steps, isPending, onConfirm, onChangeStep }: Props) => JSX.Element;
13
+ export default StepNavigation;
@@ -0,0 +1,62 @@
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
+ var react_1 = __importDefault(require("react"));
7
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
8
+ var ramda_1 = require("ramda");
9
+ var Stepper_1 = __importDefault(require("@mui/material/Stepper"));
10
+ var Step_1 = __importDefault(require("@mui/material/Step"));
11
+ var StepButton_1 = __importDefault(require("@mui/material/StepButton"));
12
+ var Button_1 = __importDefault(require("@mui/material/Button"));
13
+ var ProgressButton_1 = __importDefault(require("./ProgressButton"));
14
+ var styles_1 = require("./styles");
15
+ var StepNavigation = function (_a) {
16
+ var activeStep = _a.activeStep, steps = _a.steps, _b = _a.isPending, isPending = _b === void 0 ? false : _b, onConfirm = _a.onConfirm, onChangeStep = _a.onChangeStep;
17
+ var styles = (0, styles_1.useStyles)();
18
+ var isLastStep = activeStep === steps.length - 1;
19
+ var setActiveStep = function (step) {
20
+ if (step !== activeStep) {
21
+ onChangeStep(step);
22
+ }
23
+ };
24
+ var isEnabled = (0, ramda_1.propOr)(true, 'enabled');
25
+ var onBack = function (currentStep) {
26
+ if (currentStep > 0) {
27
+ var prevStep = currentStep - 1;
28
+ if (isEnabled(steps[prevStep])) {
29
+ setActiveStep(prevStep);
30
+ }
31
+ else {
32
+ onBack(prevStep);
33
+ }
34
+ }
35
+ };
36
+ var onNext = function (currentStep) {
37
+ if (currentStep < steps.length - 1) {
38
+ var nextStep = currentStep + 1;
39
+ if (isEnabled(steps[nextStep])) {
40
+ setActiveStep(nextStep);
41
+ }
42
+ else {
43
+ onNext(nextStep);
44
+ }
45
+ }
46
+ };
47
+ var showConfirm = isLastStep && !!onConfirm;
48
+ var isNextButtonEnabled = showConfirm || (0, ramda_1.any)(isEnabled, (0, ramda_1.drop)(activeStep + 1, steps));
49
+ return (react_1.default.createElement("div", { className: styles.container },
50
+ react_1.default.createElement("div", { className: styles.placeholder }),
51
+ react_1.default.createElement(Stepper_1.default, { nonLinear: true, activeStep: activeStep, className: styles.stepper }, steps.map(function (_a, index) {
52
+ var label = _a.label, _b = _a.enabled, enabled = _b === void 0 ? true : _b;
53
+ var disabledStep = !enabled || isPending;
54
+ var completedStep = !disabledStep && index < activeStep;
55
+ return (react_1.default.createElement(Step_1.default, { key: label, completed: completedStep, disabled: disabledStep },
56
+ react_1.default.createElement(StepButton_1.default, { className: styles.stepButton, onClick: function () { return setActiveStep(index); }, "data-reltio-id": "reltio-search-bulk-update-".concat(index) }, label)));
57
+ })),
58
+ react_1.default.createElement("div", { className: styles.buttons },
59
+ activeStep > 0 && (react_1.default.createElement(Button_1.default, { variant: "outlined", className: styles.backButton, onClick: function () { return onBack(activeStep); }, disabled: isPending, "data-reltio-id": "reltio-search-bulk-update-back" }, ui_i18n_1.default.text('Back'))),
60
+ react_1.default.createElement(ProgressButton_1.default, { variant: "contained", color: "primary", disabled: !isNextButtonEnabled, isInProgress: isPending, onClick: isLastStep ? onConfirm : function () { return onNext(activeStep); }, "data-reltio-id": "reltio-search-bulk-update-".concat(isLastStep ? 'confirm' : 'continue') }, showConfirm ? ui_i18n_1.default.text('Confirm') : ui_i18n_1.default.text('Continue')))));
61
+ };
62
+ exports.default = StepNavigation;
@@ -0,0 +1,2 @@
1
+ declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"progress" | "container" | "placeholder" | "buttons" | "stepper" | "stepButton" | "backButton" | "progressButtonWrapper">;
2
+ export { useStyles };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useStyles = void 0;
4
+ var styles_1 = require("@mui/styles");
5
+ var useStyles = (0, styles_1.makeStyles)(function () { return ({
6
+ container: {
7
+ display: 'flex',
8
+ alignItems: 'center',
9
+ justifyContent: 'space-between',
10
+ width: '100%'
11
+ },
12
+ placeholder: {
13
+ flex: 1
14
+ },
15
+ stepper: {
16
+ padding: '0 24px',
17
+ flex: 2
18
+ },
19
+ stepButton: {
20
+ margin: '-20px -16px',
21
+ padding: '20px 16px',
22
+ '& svg text': {
23
+ textAnchor: 'middle'
24
+ }
25
+ },
26
+ buttons: {
27
+ flex: 1,
28
+ display: 'flex',
29
+ justifyContent: 'flex-end'
30
+ },
31
+ backButton: {
32
+ marginRight: '8px',
33
+ border: '1px solid rgba(0, 0, 0, 0.23)'
34
+ },
35
+ progressButtonWrapper: {
36
+ position: 'relative'
37
+ },
38
+ progress: {
39
+ position: 'absolute',
40
+ left: 'calc(50% - 12px)',
41
+ top: 'calc(50% - 12px)'
42
+ }
43
+ }); });
44
+ exports.useStyles = useStyles;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ type Props = {
3
+ className?: string;
4
+ };
5
+ declare const TenantLabel: ({ className }: Props) => JSX.Element;
6
+ export default TenantLabel;
@@ -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
+ var react_1 = __importDefault(require("react"));
7
+ var react_redux_1 = require("react-redux");
8
+ var Typography_1 = __importDefault(require("@mui/material/Typography"));
9
+ var classnames_1 = __importDefault(require("classnames"));
10
+ var mdm_module_1 = __importDefault(require("@reltio/mdm-module"));
11
+ var Tenant_1 = __importDefault(require("../../icons/Tenant"));
12
+ var styles_1 = require("./styles");
13
+ var TenantLabel = function (_a) {
14
+ var className = _a.className;
15
+ var styles = (0, styles_1.useStyles)();
16
+ var customerTenantLabel = (0, react_redux_1.useSelector)(mdm_module_1.default.selectors.getTenantName);
17
+ var environmentName = (0, react_redux_1.useSelector)(mdm_module_1.default.selectors.getEnvironment);
18
+ var tenantLabelWithEnv = "".concat(customerTenantLabel).concat(environmentName ? ' - ' + environmentName.toUpperCase() : '');
19
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.labelWrapper, className) },
20
+ react_1.default.createElement(Tenant_1.default, { className: styles.tenantIcon, "data-reltio-id": "reltio-tenant-icon" }),
21
+ react_1.default.createElement(Typography_1.default, { className: styles.tenantLabel }, tenantLabelWithEnv)));
22
+ };
23
+ exports.default = TenantLabel;
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"labelWrapper" | "tenantIcon" | "tenantLabel">;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useStyles = void 0;
4
+ var styles_1 = require("@mui/styles");
5
+ exports.useStyles = (0, styles_1.makeStyles)(function () { return ({
6
+ labelWrapper: {
7
+ height: '24px',
8
+ display: 'inline-flex',
9
+ alignItems: 'center'
10
+ },
11
+ tenantIcon: {
12
+ height: '24px',
13
+ width: '24px',
14
+ marginRight: '4px',
15
+ opacity: 0.38
16
+ },
17
+ tenantLabel: {
18
+ lineHeight: '15px',
19
+ fontSize: '13px',
20
+ color: 'rgba(0,0,0,0.38)'
21
+ }
22
+ }); });
@@ -150,3 +150,5 @@ export { HierarchyNodeTitle } from './HierarchyNodeTitle/HierarchyNodeTitle';
150
150
  export { default as RequiredMark } from './RequiredMark/RequiredMark';
151
151
  export { RelevanceScoreBadge } from './RelevanceScoreBadge/RelevanceScoreBadge';
152
152
  export { default as MultilineMenuItem } from './MultilineMenuItem/MultilineMenuItem';
153
+ export { default as TenantLabel } from './TenantLabel/TenantLabel';
154
+ export { default as StepNavigation } from './StepNavigation/StepNavigation';
@@ -20,6 +20,7 @@ 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
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
+ exports.StepNavigation = exports.TenantLabel = void 0;
23
24
  __exportStar(require("./activityLog"), exports);
24
25
  var AttributeListItem_1 = require("./AttributeListItem/AttributeListItem");
25
26
  Object.defineProperty(exports, "AttributeListItem", { enumerable: true, get: function () { return __importDefault(AttributeListItem_1).default; } });
@@ -322,3 +323,7 @@ var RelevanceScoreBadge_1 = require("./RelevanceScoreBadge/RelevanceScoreBadge")
322
323
  Object.defineProperty(exports, "RelevanceScoreBadge", { enumerable: true, get: function () { return RelevanceScoreBadge_1.RelevanceScoreBadge; } });
323
324
  var MultilineMenuItem_1 = require("./MultilineMenuItem/MultilineMenuItem");
324
325
  Object.defineProperty(exports, "MultilineMenuItem", { enumerable: true, get: function () { return __importDefault(MultilineMenuItem_1).default; } });
326
+ var TenantLabel_1 = require("./TenantLabel/TenantLabel");
327
+ Object.defineProperty(exports, "TenantLabel", { enumerable: true, get: function () { return __importDefault(TenantLabel_1).default; } });
328
+ var StepNavigation_1 = require("./StepNavigation/StepNavigation");
329
+ Object.defineProperty(exports, "StepNavigation", { enumerable: true, get: function () { return __importDefault(StepNavigation_1).default; } });
@@ -25,3 +25,4 @@ export { useSavedStateForEntityType } from './useSavedStateForEntityType';
25
25
  export { useSnackbar } from './useSnackbar';
26
26
  export { useIsMountedRef } from './useIsMountedRef';
27
27
  export { useLayoutResetter } from './useLayoutResetter';
28
+ export { useAutoFocus } from './useAutoFocus';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
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;
3
+ exports.useAutoFocus = 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");
@@ -55,3 +55,5 @@ var useIsMountedRef_1 = require("./useIsMountedRef");
55
55
  Object.defineProperty(exports, "useIsMountedRef", { enumerable: true, get: function () { return useIsMountedRef_1.useIsMountedRef; } });
56
56
  var useLayoutResetter_1 = require("./useLayoutResetter");
57
57
  Object.defineProperty(exports, "useLayoutResetter", { enumerable: true, get: function () { return useLayoutResetter_1.useLayoutResetter; } });
58
+ var useAutoFocus_1 = require("./useAutoFocus");
59
+ Object.defineProperty(exports, "useAutoFocus", { enumerable: true, get: function () { return useAutoFocus_1.useAutoFocus; } });
@@ -0,0 +1,2 @@
1
+ import { MutableRefObject } from 'react';
2
+ export declare const useAutoFocus: (inputRef: MutableRefObject<HTMLInputElement>, isEditing: boolean) => void;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useAutoFocus = void 0;
4
+ var react_1 = require("react");
5
+ var useAutoFocus = function (inputRef, isEditing) {
6
+ (0, react_1.useEffect)(function () {
7
+ var _a, _b, _c, _d;
8
+ if (isEditing) {
9
+ var position = (_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.length;
10
+ (_c = inputRef.current) === null || _c === void 0 ? void 0 : _c.focus();
11
+ (_d = inputRef.current) === null || _d === void 0 ? void 0 : _d.setSelectionRange(position, position);
12
+ }
13
+ }, [inputRef, isEditing]);
14
+ };
15
+ exports.useAutoFocus = useAutoFocus;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const SvgTenant: React.FC<React.SVGProps<SVGSVGElement>>;
3
+ export default SvgTenant;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var react_1 = __importDefault(require("react"));
18
+ var SvgTenant = function (props) {
19
+ return (react_1.default.createElement("svg", __assign({ width: 24, height: 24, viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, props),
20
+ react_1.default.createElement("path", { d: "M2 0h13v2H8v19h12V6h-9V4h11v19H2V0zm9 8h7v2h-7V8zm0 4h7v2h-7v-2zm0 4h7v2h-7v-2zM4 4v2h2V4H4zm0 8v2h2v-2H4zm0-4v2h2V8H4zm0 8v2h2v-2H4z", fill: "#000", stroke: "none", strokeWidth: 1, fillRule: "evenodd" })));
21
+ };
22
+ exports.default = SvgTenant;
@@ -1,4 +1,4 @@
1
- import React, { useMemo, useContext, useRef, useEffect, useCallback } from 'react';
1
+ import React, { useMemo, useContext, useRef, useCallback } from 'react';
2
2
  import { useSelector } from 'react-redux';
3
3
  import i18n from 'ui-i18n';
4
4
  import Link from '@mui/material/Link';
@@ -12,6 +12,7 @@ import { CommentTarget } from '../CommentTarget/CommentTarget';
12
12
  import { CommentContent } from '../CommentContent/CommentContent';
13
13
  import { Avatar } from '../Avatar/Avatar';
14
14
  import { CollaborationContext } from '../../../contexts';
15
+ import { useAutoFocus } from '../../../hooks';
15
16
  import { createEditedCommentUri, formatDate } from '../utils';
16
17
  import { SendMessageArea } from '../SendMessageArea/SendMessageArea';
17
18
  import { useStyles } from './styles';
@@ -27,13 +28,7 @@ export var Comment = function (_a) {
27
28
  var commentUri = createEditedCommentUri(comment);
28
29
  var isEditing = getCommentState(uri, commentUri).isEditing;
29
30
  var updateIsEditingComment = useCallback(function (value) { return updateCommentState(uri, commentUri, { isEditing: value }); }, [commentUri, updateCommentState, uri]);
30
- useEffect(function () {
31
- if (isEditing) {
32
- var position = inputRef.current.value.length;
33
- inputRef.current.focus();
34
- inputRef.current.setSelectionRange(position, position);
35
- }
36
- }, [isEditing]);
31
+ useAutoFocus(inputRef, isEditing);
37
32
  var menuItems = useMemo(function () {
38
33
  return isResolved
39
34
  ? [
@@ -1,4 +1,4 @@
1
- import React, { useRef, useContext, useMemo, useEffect, useCallback } from 'react';
1
+ import React, { useRef, useContext, useMemo, useCallback } from 'react';
2
2
  import { useSelector } from 'react-redux';
3
3
  import i18n from 'ui-i18n';
4
4
  import classnames from 'classnames';
@@ -10,6 +10,7 @@ import { Avatar } from '../Avatar/Avatar';
10
10
  import { CommentContent } from '../CommentContent/CommentContent';
11
11
  import { createEditedReplyUri, formatDate } from '../utils';
12
12
  import { CollaborationContext } from '../../../contexts';
13
+ import { useAutoFocus } from '../../../hooks';
13
14
  import DropDownMenuButton from '../../DropDownMenuButton/DropDownMenuButton';
14
15
  import { SmallIconButtonWithTooltip } from '../../SmallIconButton';
15
16
  import { SendMessageArea } from '../SendMessageArea/SendMessageArea';
@@ -24,11 +25,7 @@ export var RepliedComment = function (_a) {
24
25
  var commentUri = createEditedReplyUri(comment, reply);
25
26
  var isEditing = getCommentState(uri, commentUri).isEditing;
26
27
  var updateIsEditingReply = useCallback(function (value) { return updateCommentState(uri, commentUri, { isEditing: value }); }, [commentUri, updateCommentState, uri]);
27
- useEffect(function () {
28
- if (isEditing) {
29
- inputRef.current.focus();
30
- }
31
- }, [isEditing]);
28
+ useAutoFocus(inputRef, isEditing);
32
29
  var styles = useStyles();
33
30
  var menuItems = useMemo(function () { return [
34
31
  {
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ isInProgress: boolean;
4
+ disabled: boolean;
5
+ onClick: () => void;
6
+ circularColor?: 'primary' | 'secondary' | 'inherit';
7
+ children: React.ReactNode;
8
+ className?: string;
9
+ [key: string]: any;
10
+ };
11
+ declare const ProgressButton: ({ isInProgress, disabled, circularColor, className, children, onClick, ...otherButtonProps }: Props) => JSX.Element;
12
+ export default ProgressButton;
@@ -0,0 +1,36 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import React from 'react';
24
+ import classnames from 'classnames';
25
+ import Button from '@mui/material/Button';
26
+ import CircularProgress from '@mui/material/CircularProgress';
27
+ import { useStyles } from './styles';
28
+ var ProgressButton = function (_a) {
29
+ var isInProgress = _a.isInProgress, disabled = _a.disabled, _b = _a.circularColor, circularColor = _b === void 0 ? 'primary' : _b, className = _a.className, children = _a.children, onClick = _a.onClick, otherButtonProps = __rest(_a, ["isInProgress", "disabled", "circularColor", "className", "children", "onClick"]);
30
+ var styles = useStyles();
31
+ return (React.createElement(Button, __assign({}, otherButtonProps, { className: classnames(styles.progressButtonWrapper, className), onClick: onClick, disabled: disabled || isInProgress }),
32
+ children,
33
+ isInProgress && (React.createElement("div", { className: styles.progress, "data-reltio-id": "reltio-circular-load-indicator" },
34
+ React.createElement(CircularProgress, { size: 24, color: circularColor })))));
35
+ };
36
+ export default ProgressButton;
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ type Props = {
3
+ activeStep: number;
4
+ steps: Array<{
5
+ label: string;
6
+ enabled?: boolean;
7
+ }>;
8
+ isPending?: boolean;
9
+ onConfirm?: () => void;
10
+ onChangeStep: (step: number) => void;
11
+ };
12
+ declare const StepNavigation: ({ activeStep, steps, isPending, onConfirm, onChangeStep }: Props) => JSX.Element;
13
+ export default StepNavigation;
@@ -0,0 +1,57 @@
1
+ import React from 'react';
2
+ import i18n from 'ui-i18n';
3
+ import { any, drop, propOr } from 'ramda';
4
+ import Stepper from '@mui/material/Stepper';
5
+ import Step from '@mui/material/Step';
6
+ import StepButton from '@mui/material/StepButton';
7
+ import Button from '@mui/material/Button';
8
+ import ProgressButton from './ProgressButton';
9
+ import { useStyles } from './styles';
10
+ var StepNavigation = function (_a) {
11
+ var activeStep = _a.activeStep, steps = _a.steps, _b = _a.isPending, isPending = _b === void 0 ? false : _b, onConfirm = _a.onConfirm, onChangeStep = _a.onChangeStep;
12
+ var styles = useStyles();
13
+ var isLastStep = activeStep === steps.length - 1;
14
+ var setActiveStep = function (step) {
15
+ if (step !== activeStep) {
16
+ onChangeStep(step);
17
+ }
18
+ };
19
+ var isEnabled = propOr(true, 'enabled');
20
+ var onBack = function (currentStep) {
21
+ if (currentStep > 0) {
22
+ var prevStep = currentStep - 1;
23
+ if (isEnabled(steps[prevStep])) {
24
+ setActiveStep(prevStep);
25
+ }
26
+ else {
27
+ onBack(prevStep);
28
+ }
29
+ }
30
+ };
31
+ var onNext = function (currentStep) {
32
+ if (currentStep < steps.length - 1) {
33
+ var nextStep = currentStep + 1;
34
+ if (isEnabled(steps[nextStep])) {
35
+ setActiveStep(nextStep);
36
+ }
37
+ else {
38
+ onNext(nextStep);
39
+ }
40
+ }
41
+ };
42
+ var showConfirm = isLastStep && !!onConfirm;
43
+ var isNextButtonEnabled = showConfirm || any(isEnabled, drop(activeStep + 1, steps));
44
+ return (React.createElement("div", { className: styles.container },
45
+ React.createElement("div", { className: styles.placeholder }),
46
+ React.createElement(Stepper, { nonLinear: true, activeStep: activeStep, className: styles.stepper }, steps.map(function (_a, index) {
47
+ var label = _a.label, _b = _a.enabled, enabled = _b === void 0 ? true : _b;
48
+ var disabledStep = !enabled || isPending;
49
+ var completedStep = !disabledStep && index < activeStep;
50
+ return (React.createElement(Step, { key: label, completed: completedStep, disabled: disabledStep },
51
+ React.createElement(StepButton, { className: styles.stepButton, onClick: function () { return setActiveStep(index); }, "data-reltio-id": "reltio-search-bulk-update-".concat(index) }, label)));
52
+ })),
53
+ React.createElement("div", { className: styles.buttons },
54
+ activeStep > 0 && (React.createElement(Button, { variant: "outlined", className: styles.backButton, onClick: function () { return onBack(activeStep); }, disabled: isPending, "data-reltio-id": "reltio-search-bulk-update-back" }, i18n.text('Back'))),
55
+ React.createElement(ProgressButton, { variant: "contained", color: "primary", disabled: !isNextButtonEnabled, isInProgress: isPending, onClick: isLastStep ? onConfirm : function () { return onNext(activeStep); }, "data-reltio-id": "reltio-search-bulk-update-".concat(isLastStep ? 'confirm' : 'continue') }, showConfirm ? i18n.text('Confirm') : i18n.text('Continue')))));
56
+ };
57
+ export default StepNavigation;
@@ -0,0 +1,2 @@
1
+ declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"progress" | "container" | "placeholder" | "buttons" | "stepper" | "stepButton" | "backButton" | "progressButtonWrapper">;
2
+ export { useStyles };
@@ -0,0 +1,41 @@
1
+ import { makeStyles } from '@mui/styles';
2
+ var useStyles = makeStyles(function () { return ({
3
+ container: {
4
+ display: 'flex',
5
+ alignItems: 'center',
6
+ justifyContent: 'space-between',
7
+ width: '100%'
8
+ },
9
+ placeholder: {
10
+ flex: 1
11
+ },
12
+ stepper: {
13
+ padding: '0 24px',
14
+ flex: 2
15
+ },
16
+ stepButton: {
17
+ margin: '-20px -16px',
18
+ padding: '20px 16px',
19
+ '& svg text': {
20
+ textAnchor: 'middle'
21
+ }
22
+ },
23
+ buttons: {
24
+ flex: 1,
25
+ display: 'flex',
26
+ justifyContent: 'flex-end'
27
+ },
28
+ backButton: {
29
+ marginRight: '8px',
30
+ border: '1px solid rgba(0, 0, 0, 0.23)'
31
+ },
32
+ progressButtonWrapper: {
33
+ position: 'relative'
34
+ },
35
+ progress: {
36
+ position: 'absolute',
37
+ left: 'calc(50% - 12px)',
38
+ top: 'calc(50% - 12px)'
39
+ }
40
+ }); });
41
+ export { useStyles };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ type Props = {
3
+ className?: string;
4
+ };
5
+ declare const TenantLabel: ({ className }: Props) => JSX.Element;
6
+ export default TenantLabel;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { useSelector } from 'react-redux';
3
+ import Typography from '@mui/material/Typography';
4
+ import classnames from 'classnames';
5
+ import mdmModule from '@reltio/mdm-module';
6
+ import TenantIcon from '../../icons/Tenant';
7
+ import { useStyles } from './styles';
8
+ var TenantLabel = function (_a) {
9
+ var className = _a.className;
10
+ var styles = useStyles();
11
+ var customerTenantLabel = useSelector(mdmModule.selectors.getTenantName);
12
+ var environmentName = useSelector(mdmModule.selectors.getEnvironment);
13
+ var tenantLabelWithEnv = "".concat(customerTenantLabel).concat(environmentName ? ' - ' + environmentName.toUpperCase() : '');
14
+ return (React.createElement("div", { className: classnames(styles.labelWrapper, className) },
15
+ React.createElement(TenantIcon, { className: styles.tenantIcon, "data-reltio-id": "reltio-tenant-icon" }),
16
+ React.createElement(Typography, { className: styles.tenantLabel }, tenantLabelWithEnv)));
17
+ };
18
+ export default TenantLabel;
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"labelWrapper" | "tenantIcon" | "tenantLabel">;
@@ -0,0 +1,19 @@
1
+ import { makeStyles } from '@mui/styles';
2
+ export var useStyles = makeStyles(function () { return ({
3
+ labelWrapper: {
4
+ height: '24px',
5
+ display: 'inline-flex',
6
+ alignItems: 'center'
7
+ },
8
+ tenantIcon: {
9
+ height: '24px',
10
+ width: '24px',
11
+ marginRight: '4px',
12
+ opacity: 0.38
13
+ },
14
+ tenantLabel: {
15
+ lineHeight: '15px',
16
+ fontSize: '13px',
17
+ color: 'rgba(0,0,0,0.38)'
18
+ }
19
+ }); });
@@ -150,3 +150,5 @@ export { HierarchyNodeTitle } from './HierarchyNodeTitle/HierarchyNodeTitle';
150
150
  export { default as RequiredMark } from './RequiredMark/RequiredMark';
151
151
  export { RelevanceScoreBadge } from './RelevanceScoreBadge/RelevanceScoreBadge';
152
152
  export { default as MultilineMenuItem } from './MultilineMenuItem/MultilineMenuItem';
153
+ export { default as TenantLabel } from './TenantLabel/TenantLabel';
154
+ export { default as StepNavigation } from './StepNavigation/StepNavigation';
@@ -150,3 +150,5 @@ export { HierarchyNodeTitle } from './HierarchyNodeTitle/HierarchyNodeTitle';
150
150
  export { default as RequiredMark } from './RequiredMark/RequiredMark';
151
151
  export { RelevanceScoreBadge } from './RelevanceScoreBadge/RelevanceScoreBadge';
152
152
  export { default as MultilineMenuItem } from './MultilineMenuItem/MultilineMenuItem';
153
+ export { default as TenantLabel } from './TenantLabel/TenantLabel';
154
+ export { default as StepNavigation } from './StepNavigation/StepNavigation';
@@ -25,3 +25,4 @@ export { useSavedStateForEntityType } from './useSavedStateForEntityType';
25
25
  export { useSnackbar } from './useSnackbar';
26
26
  export { useIsMountedRef } from './useIsMountedRef';
27
27
  export { useLayoutResetter } from './useLayoutResetter';
28
+ export { useAutoFocus } from './useAutoFocus';
@@ -25,3 +25,4 @@ export { useSavedStateForEntityType } from './useSavedStateForEntityType';
25
25
  export { useSnackbar } from './useSnackbar';
26
26
  export { useIsMountedRef } from './useIsMountedRef';
27
27
  export { useLayoutResetter } from './useLayoutResetter';
28
+ export { useAutoFocus } from './useAutoFocus';
@@ -0,0 +1,2 @@
1
+ import { MutableRefObject } from 'react';
2
+ export declare const useAutoFocus: (inputRef: MutableRefObject<HTMLInputElement>, isEditing: boolean) => void;
@@ -0,0 +1,11 @@
1
+ import { useEffect } from 'react';
2
+ export var useAutoFocus = function (inputRef, isEditing) {
3
+ useEffect(function () {
4
+ var _a, _b, _c, _d;
5
+ if (isEditing) {
6
+ var position = (_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.length;
7
+ (_c = inputRef.current) === null || _c === void 0 ? void 0 : _c.focus();
8
+ (_d = inputRef.current) === null || _d === void 0 ? void 0 : _d.setSelectionRange(position, position);
9
+ }
10
+ }, [inputRef, isEditing]);
11
+ };
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const SvgTenant: React.FC<React.SVGProps<SVGSVGElement>>;
3
+ export default SvgTenant;
@@ -0,0 +1,17 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React from 'react';
13
+ var SvgTenant = function (props) {
14
+ return (React.createElement("svg", __assign({ width: 24, height: 24, viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, props),
15
+ React.createElement("path", { d: "M2 0h13v2H8v19h12V6h-9V4h11v19H2V0zm9 8h7v2h-7V8zm0 4h7v2h-7v-2zm0 4h7v2h-7v-2zM4 4v2h2V4H4zm0 8v2h2v-2H4zm0-4v2h2V8H4zm0 8v2h2v-2H4z", fill: "#000", stroke: "none", strokeWidth: 1, fillRule: "evenodd" })));
16
+ };
17
+ export default SvgTenant;
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.1636",
3
+ "version": "1.4.1638",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
7
7
  "dependencies": {
8
8
  "@date-io/moment": "^1.3.5",
9
9
  "@react-google-maps/api": "2.7.0",
10
- "@reltio/mdm-module": "^1.4.1636",
11
- "@reltio/mdm-sdk": "^1.4.1636",
10
+ "@reltio/mdm-module": "^1.4.1638",
11
+ "@reltio/mdm-sdk": "^1.4.1638",
12
12
  "classnames": "^2.2.5",
13
13
  "d3-cloud": "^1.2.5",
14
14
  "d3-geo": "^2.0.1",