@reltio/components 1.4.2016 → 1.4.2018

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.
@@ -63,21 +63,25 @@ describe('masking/unmasking behaviour', function () {
63
63
  });
64
64
  var defaultAttributeType = { type: 'String', name: 'Name', uri: 'URI', masking: { regexPattern: '.*' } };
65
65
  var defaultAttributeValue = { value: 'Masked value', uri: 'entities/16U21B8f/attributes/Name/2sAfjGOIh' };
66
- var setUp = function (isMaskingNeeded) {
67
- if (isMaskingNeeded === void 0) { isMaskingNeeded = true; }
68
- var attributeType = isMaskingNeeded ? defaultAttributeType : dissoc('masking', defaultAttributeType);
66
+ var defaultProps = {
67
+ attributeType: defaultAttributeType,
68
+ attributeValue: defaultAttributeValue
69
+ };
70
+ var setUp = function (props) {
71
+ if (props === void 0) { props = defaultProps; }
69
72
  var Providers = function (_a) {
70
73
  var children = _a.children;
71
74
  return (React.createElement(MdmModuleProvider, { values: { mode: Mode.Viewing } },
72
75
  React.createElement(MaskedAttributesProvider, null, children)));
73
76
  };
74
77
  var user = userEvent.setup();
75
- return __assign({ user: user }, render(React.createElement(SimpleAttribute, { attributeType: attributeType, attributeValue: defaultAttributeValue }), {
78
+ return __assign({ user: user }, render(React.createElement(SimpleAttribute, __assign({}, props)), {
76
79
  wrapper: Providers
77
80
  }));
78
81
  };
79
82
  it('should not render MaskingSwitcher if attribute should not be masked', function () {
80
- var container = setUp(false).container;
83
+ var attributeType = dissoc('masking', defaultAttributeType);
84
+ var container = setUp(__assign(__assign({}, defaultProps), { attributeType: attributeType })).container;
81
85
  expect(container.querySelector('.switcherWrapper')).not.toBeInTheDocument();
82
86
  });
83
87
  it('should render MaskingSwitcher if attribute should be masked', function () {
@@ -168,4 +172,16 @@ describe('masking/unmasking behaviour', function () {
168
172
  }
169
173
  });
170
174
  }); });
175
+ it('should not format date attribute if it is masked', function () {
176
+ var attributeType = { type: 'Date', name: 'lastUpdateTime', uri: 'URI', masking: { regexPattern: '.*' } };
177
+ var attributeValue = { value: '******0-16', uri: 'entities/16U21B8f/attributes/lastUpdateTime/1qWvQglW' };
178
+ setUp({ attributeType: attributeType, attributeValue: attributeValue });
179
+ expect(screen.getByText('******0-16')).toBeInTheDocument();
180
+ });
181
+ it('should not format timestamp attribute if it is masked', function () {
182
+ var attributeType = { type: 'Timestamp', name: 'Timestamp', uri: 'URI', masking: { regexPattern: '.*' } };
183
+ var attributeValue = { value: '**********0000', uri: 'entities/16U21B8f/attributes/Timestamp/1qWvQglW' };
184
+ setUp({ attributeType: attributeType, attributeValue: attributeValue });
185
+ expect(screen.getByText('**********0000')).toBeInTheDocument();
186
+ });
171
187
  });
@@ -68,21 +68,25 @@ describe('masking/unmasking behaviour', function () {
68
68
  });
69
69
  var defaultAttributeType = { type: 'String', name: 'Name', uri: 'URI', masking: { regexPattern: '.*' } };
70
70
  var defaultAttributeValue = { value: 'Masked value', uri: 'entities/16U21B8f/attributes/Name/2sAfjGOIh' };
71
- var setUp = function (isMaskingNeeded) {
72
- if (isMaskingNeeded === void 0) { isMaskingNeeded = true; }
73
- var attributeType = isMaskingNeeded ? defaultAttributeType : (0, ramda_1.dissoc)('masking', defaultAttributeType);
71
+ var defaultProps = {
72
+ attributeType: defaultAttributeType,
73
+ attributeValue: defaultAttributeValue
74
+ };
75
+ var setUp = function (props) {
76
+ if (props === void 0) { props = defaultProps; }
74
77
  var Providers = function (_a) {
75
78
  var children = _a.children;
76
79
  return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: { mode: mdm_sdk_1.Mode.Viewing } },
77
80
  react_1.default.createElement(MaskedAttributesContext_1.MaskedAttributesProvider, null, children)));
78
81
  };
79
82
  var user = user_event_1.default.setup();
80
- return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(SimpleAttribute_1.SimpleAttribute, { attributeType: attributeType, attributeValue: defaultAttributeValue }), {
83
+ return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(SimpleAttribute_1.SimpleAttribute, __assign({}, props)), {
81
84
  wrapper: Providers
82
85
  }));
83
86
  };
84
87
  it('should not render MaskingSwitcher if attribute should not be masked', function () {
85
- var container = setUp(false).container;
88
+ var attributeType = (0, ramda_1.dissoc)('masking', defaultAttributeType);
89
+ var container = setUp(__assign(__assign({}, defaultProps), { attributeType: attributeType })).container;
86
90
  expect(container.querySelector('.switcherWrapper')).not.toBeInTheDocument();
87
91
  });
88
92
  it('should render MaskingSwitcher if attribute should be masked', function () {
@@ -173,4 +177,16 @@ describe('masking/unmasking behaviour', function () {
173
177
  }
174
178
  });
175
179
  }); });
180
+ it('should not format date attribute if it is masked', function () {
181
+ var attributeType = { type: 'Date', name: 'lastUpdateTime', uri: 'URI', masking: { regexPattern: '.*' } };
182
+ var attributeValue = { value: '******0-16', uri: 'entities/16U21B8f/attributes/lastUpdateTime/1qWvQglW' };
183
+ setUp({ attributeType: attributeType, attributeValue: attributeValue });
184
+ expect(react_2.screen.getByText('******0-16')).toBeInTheDocument();
185
+ });
186
+ it('should not format timestamp attribute if it is masked', function () {
187
+ var attributeType = { type: 'Timestamp', name: 'Timestamp', uri: 'URI', masking: { regexPattern: '.*' } };
188
+ var attributeValue = { value: '**********0000', uri: 'entities/16U21B8f/attributes/Timestamp/1qWvQglW' };
189
+ setUp({ attributeType: attributeType, attributeValue: attributeValue });
190
+ expect(react_2.screen.getByText('**********0000')).toBeInTheDocument();
191
+ });
176
192
  });
@@ -272,4 +272,84 @@ describe('AssigneeSelector tests', function () {
272
272
  }
273
273
  });
274
274
  }); });
275
+ it('should make a single request on load, show loading state, and not re-fetch if assignees are already loaded', function () { return __awaiter(void 0, void 0, void 0, function () {
276
+ var user, input;
277
+ return __generator(this, function (_a) {
278
+ switch (_a.label) {
279
+ case 0:
280
+ user = setUp().user;
281
+ return [4 /*yield*/, react_2.screen.findByText('Assigned to')];
282
+ case 1:
283
+ _a.sent();
284
+ expect(mdm_sdk_1.getAssigneeForTask).toHaveBeenCalledTimes(1);
285
+ input = react_2.screen.getByRole('combobox');
286
+ return [4 /*yield*/, user.click(input)];
287
+ case 2:
288
+ _a.sent();
289
+ expect(react_2.screen.getByText('Loading...')).toBeInTheDocument();
290
+ (0, react_2.act)(function () {
291
+ resolveAssigneeForTask(response);
292
+ });
293
+ return [4 /*yield*/, (0, react_2.waitForElementToBeRemoved)(react_2.screen.queryByText('Loading...'))];
294
+ case 3:
295
+ _a.sent();
296
+ return [4 /*yield*/, react_2.screen.findByText('user1')];
297
+ case 4:
298
+ _a.sent();
299
+ return [4 /*yield*/, react_2.screen.findByText('user2')];
300
+ case 5:
301
+ _a.sent();
302
+ return [4 /*yield*/, react_2.screen.findByText('firstUser')];
303
+ case 6:
304
+ _a.sent();
305
+ return [4 /*yield*/, user.type(input, 'user')];
306
+ case 7:
307
+ _a.sent();
308
+ expect(mdm_sdk_1.getAssigneeForTask).toHaveBeenCalledTimes(1);
309
+ return [4 /*yield*/, user.clear(input)];
310
+ case 8:
311
+ _a.sent();
312
+ return [4 /*yield*/, user.type(input, 'first')];
313
+ case 9:
314
+ _a.sent();
315
+ expect(mdm_sdk_1.getAssigneeForTask).toHaveBeenCalledTimes(1);
316
+ return [2 /*return*/];
317
+ }
318
+ });
319
+ }); });
320
+ it('should correctly filter options based on user input', function () { return __awaiter(void 0, void 0, void 0, function () {
321
+ var user, input;
322
+ return __generator(this, function (_a) {
323
+ switch (_a.label) {
324
+ case 0:
325
+ user = setUp().user;
326
+ return [4 /*yield*/, react_2.screen.findByText('Assigned to')];
327
+ case 1:
328
+ _a.sent();
329
+ input = react_2.screen.getByRole('combobox');
330
+ return [4 /*yield*/, user.click(input)];
331
+ case 2:
332
+ _a.sent();
333
+ (0, react_2.act)(function () {
334
+ resolveAssigneeForTask(response);
335
+ });
336
+ return [4 /*yield*/, react_2.screen.findByText('user2')];
337
+ case 3:
338
+ _a.sent();
339
+ return [4 /*yield*/, user.type(input, 'user2')];
340
+ case 4:
341
+ _a.sent();
342
+ expect(react_2.screen.getByText('user2')).toBeInTheDocument();
343
+ expect(react_2.screen.queryByText('user1')).not.toBeInTheDocument();
344
+ expect(react_2.screen.queryByText('firstUser')).not.toBeInTheDocument();
345
+ return [4 /*yield*/, user.clear(input)];
346
+ case 5:
347
+ _a.sent();
348
+ expect(react_2.screen.getByText('user1')).toBeInTheDocument();
349
+ expect(react_2.screen.getByText('user2')).toBeInTheDocument();
350
+ expect(react_2.screen.getByText('firstUser')).toBeInTheDocument();
351
+ return [2 /*return*/];
352
+ }
353
+ });
354
+ }); });
275
355
  });
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useWorkflowAssignee = void 0;
4
4
  var react_1 = require("react");
5
- var ramda_1 = require("ramda");
6
5
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
7
6
  var useSafePromise_1 = require("../../../hooks/useSafePromise");
8
7
  var WorkflowTasksContext_1 = require("../../../contexts/WorkflowTasksContext");
@@ -14,6 +13,9 @@ var assigneeToValue = function (assignee) { return ({
14
13
  label: assignee,
15
14
  value: assignee
16
15
  }); };
16
+ var filterAssignees = function (assignees, text) {
17
+ return assignees.filter(function (item) { return item.value.toLowerCase().includes(text === null || text === void 0 ? void 0 : text.toLowerCase()); });
18
+ };
17
19
  var useWorkflowAssignee = function (_a) {
18
20
  var assignee = _a.assignee, _b = _a.showCurrentAssignee, showCurrentAssignee = _b === void 0 ? true : _b, taskId = _a.taskId, isOpen = _a.isOpen, onChange = _a.onChange;
19
21
  var updateTaskState = ((0, react_1.useContext)(WorkflowTasksContext_1.WorkflowTasksContext) || {}).updateTaskState;
@@ -21,56 +23,42 @@ var useWorkflowAssignee = function (_a) {
21
23
  var environment = (0, MdmModuleContext_1.useMdmWorkflowEnvironmentUrl)();
22
24
  var tenant = (0, MdmModuleContext_1.useMdmTenant)();
23
25
  var updateSafePromise = (0, useSafePromise_1.useSafePromise)();
24
- var getSafePromise = (0, useSafePromise_1.useSafePromise)();
25
26
  var _c = (0, react_1.useState)(null), currentAssignee = _c[0], setCurrentAssignee = _c[1];
26
- var _d = (0, react_1.useState)(), assignees = _d[0], setAssignees = _d[1];
27
- var _e = (0, react_1.useState)(false), updateRequestIsInProgress = _e[0], setUpdateRequestIsInProgress = _e[1];
27
+ var _d = (0, react_1.useState)(false), updateRequestIsInProgress = _d[0], setUpdateRequestIsInProgress = _d[1];
28
28
  var checkWorkflowPermission = (0, useWorkflowCheckPermission_1.useWorkflowCheckPermission)();
29
29
  var canUpdateTask = checkWorkflowPermission('UPDATE_TASK') && (0, common_1.isOpenTask)(isOpen);
30
+ var assigneesRequestRef = (0, react_1.useRef)(null);
30
31
  (0, react_1.useEffect)(function () {
31
32
  if (showCurrentAssignee)
32
33
  setCurrentAssignee(assigneeToValue(assignee));
33
- }, [assignee]);
34
+ },
35
+ // eslint-disable-next-line react-hooks/exhaustive-deps
36
+ [assignee]);
34
37
  var getAssignees = (0, react_1.useCallback)(function (text) {
35
38
  if (workflowPath && canUpdateTask && taskId) {
36
- var filterOutRest_1 = (0, ramda_1.filter)(function (item) {
37
- return item.value.toLowerCase().includes(text === null || text === void 0 ? void 0 : text.toLowerCase());
38
- });
39
- if (assignees) {
40
- return Promise.resolve(filterOutRest_1(assignees));
39
+ if (!assigneesRequestRef.current) {
40
+ assigneesRequestRef.current = (0, mdm_sdk_1.getAssigneeForTask)({
41
+ taskId: taskId,
42
+ workflowPath: workflowPath,
43
+ environment: environment,
44
+ tenant: tenant
45
+ });
41
46
  }
42
- return getSafePromise((0, mdm_sdk_1.getAssigneeForTask)({
43
- taskId: taskId,
44
- workflowPath: workflowPath,
45
- environment: environment,
46
- tenant: tenant
47
- }))
47
+ return assigneesRequestRef.current
48
48
  .then(function (result) {
49
49
  var data = result.data;
50
- var assignees = data
50
+ var fetchedAssignees = data
51
51
  .filter(function (a) { return (showCurrentAssignee ? true : a !== assignee); })
52
- .sort(function (a, b) {
53
- return mdm_sdk_1.utils.strings.sort('asc', a, b);
54
- })
52
+ .sort(function (a, b) { return mdm_sdk_1.utils.strings.sort('asc', a, b); })
55
53
  .map(assigneeToValue);
56
- setAssignees(assignees);
57
- return filterOutRest_1(assignees);
54
+ return filterAssignees(fetchedAssignees, text);
58
55
  })
59
- .catch(errors_1.showWorkflowError);
56
+ .catch(function (e) {
57
+ (0, errors_1.showWorkflowError)(e);
58
+ assigneesRequestRef.current = null;
59
+ });
60
60
  }
61
- },
62
- // eslint-disable-next-line react-hooks/exhaustive-deps
63
- [
64
- workflowPath,
65
- taskId,
66
- environment,
67
- tenant,
68
- assignees,
69
- setAssignees,
70
- canUpdateTask,
71
- assignee,
72
- showCurrentAssignee
73
- ]);
61
+ }, [workflowPath, taskId, environment, tenant, canUpdateTask, assignee, showCurrentAssignee]);
74
62
  var updateAssignee = (0, react_1.useCallback)(function (newValue) {
75
63
  var assignee = newValue.value;
76
64
  if (onChange) {
@@ -46,7 +46,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  }
47
47
  };
48
48
  import React from 'react';
49
- import { render, screen, act } from '@testing-library/react';
49
+ import { render, screen, act, waitForElementToBeRemoved } from '@testing-library/react';
50
50
  import userEvent from '@testing-library/user-event';
51
51
  import { getAssigneeForTask, updateAssigneeForTask } from '@reltio/mdm-sdk';
52
52
  import { MdmModuleProvider } from '../../../contexts/MdmModuleContext';
@@ -267,4 +267,84 @@ describe('AssigneeSelector tests', function () {
267
267
  }
268
268
  });
269
269
  }); });
270
+ it('should make a single request on load, show loading state, and not re-fetch if assignees are already loaded', function () { return __awaiter(void 0, void 0, void 0, function () {
271
+ var user, input;
272
+ return __generator(this, function (_a) {
273
+ switch (_a.label) {
274
+ case 0:
275
+ user = setUp().user;
276
+ return [4 /*yield*/, screen.findByText('Assigned to')];
277
+ case 1:
278
+ _a.sent();
279
+ expect(getAssigneeForTask).toHaveBeenCalledTimes(1);
280
+ input = screen.getByRole('combobox');
281
+ return [4 /*yield*/, user.click(input)];
282
+ case 2:
283
+ _a.sent();
284
+ expect(screen.getByText('Loading...')).toBeInTheDocument();
285
+ act(function () {
286
+ resolveAssigneeForTask(response);
287
+ });
288
+ return [4 /*yield*/, waitForElementToBeRemoved(screen.queryByText('Loading...'))];
289
+ case 3:
290
+ _a.sent();
291
+ return [4 /*yield*/, screen.findByText('user1')];
292
+ case 4:
293
+ _a.sent();
294
+ return [4 /*yield*/, screen.findByText('user2')];
295
+ case 5:
296
+ _a.sent();
297
+ return [4 /*yield*/, screen.findByText('firstUser')];
298
+ case 6:
299
+ _a.sent();
300
+ return [4 /*yield*/, user.type(input, 'user')];
301
+ case 7:
302
+ _a.sent();
303
+ expect(getAssigneeForTask).toHaveBeenCalledTimes(1);
304
+ return [4 /*yield*/, user.clear(input)];
305
+ case 8:
306
+ _a.sent();
307
+ return [4 /*yield*/, user.type(input, 'first')];
308
+ case 9:
309
+ _a.sent();
310
+ expect(getAssigneeForTask).toHaveBeenCalledTimes(1);
311
+ return [2 /*return*/];
312
+ }
313
+ });
314
+ }); });
315
+ it('should correctly filter options based on user input', function () { return __awaiter(void 0, void 0, void 0, function () {
316
+ var user, input;
317
+ return __generator(this, function (_a) {
318
+ switch (_a.label) {
319
+ case 0:
320
+ user = setUp().user;
321
+ return [4 /*yield*/, screen.findByText('Assigned to')];
322
+ case 1:
323
+ _a.sent();
324
+ input = screen.getByRole('combobox');
325
+ return [4 /*yield*/, user.click(input)];
326
+ case 2:
327
+ _a.sent();
328
+ act(function () {
329
+ resolveAssigneeForTask(response);
330
+ });
331
+ return [4 /*yield*/, screen.findByText('user2')];
332
+ case 3:
333
+ _a.sent();
334
+ return [4 /*yield*/, user.type(input, 'user2')];
335
+ case 4:
336
+ _a.sent();
337
+ expect(screen.getByText('user2')).toBeInTheDocument();
338
+ expect(screen.queryByText('user1')).not.toBeInTheDocument();
339
+ expect(screen.queryByText('firstUser')).not.toBeInTheDocument();
340
+ return [4 /*yield*/, user.clear(input)];
341
+ case 5:
342
+ _a.sent();
343
+ expect(screen.getByText('user1')).toBeInTheDocument();
344
+ expect(screen.getByText('user2')).toBeInTheDocument();
345
+ expect(screen.getByText('firstUser')).toBeInTheDocument();
346
+ return [2 /*return*/];
347
+ }
348
+ });
349
+ }); });
270
350
  });
@@ -1,5 +1,4 @@
1
- import { useState, useEffect, useCallback, useContext } from 'react';
2
- import { filter } from 'ramda';
1
+ import { useState, useEffect, useCallback, useContext, useRef } from 'react';
3
2
  import { getAssigneeForTask, updateAssigneeForTask, utils } from '@reltio/mdm-sdk';
4
3
  import { useSafePromise } from '../../../hooks/useSafePromise';
5
4
  import { WorkflowTasksContext } from '../../../contexts/WorkflowTasksContext';
@@ -11,6 +10,9 @@ var assigneeToValue = function (assignee) { return ({
11
10
  label: assignee,
12
11
  value: assignee
13
12
  }); };
13
+ var filterAssignees = function (assignees, text) {
14
+ return assignees.filter(function (item) { return item.value.toLowerCase().includes(text === null || text === void 0 ? void 0 : text.toLowerCase()); });
15
+ };
14
16
  export var useWorkflowAssignee = function (_a) {
15
17
  var assignee = _a.assignee, _b = _a.showCurrentAssignee, showCurrentAssignee = _b === void 0 ? true : _b, taskId = _a.taskId, isOpen = _a.isOpen, onChange = _a.onChange;
16
18
  var updateTaskState = (useContext(WorkflowTasksContext) || {}).updateTaskState;
@@ -18,56 +20,42 @@ export var useWorkflowAssignee = function (_a) {
18
20
  var environment = useMdmWorkflowEnvironmentUrl();
19
21
  var tenant = useMdmTenant();
20
22
  var updateSafePromise = useSafePromise();
21
- var getSafePromise = useSafePromise();
22
23
  var _c = useState(null), currentAssignee = _c[0], setCurrentAssignee = _c[1];
23
- var _d = useState(), assignees = _d[0], setAssignees = _d[1];
24
- var _e = useState(false), updateRequestIsInProgress = _e[0], setUpdateRequestIsInProgress = _e[1];
24
+ var _d = useState(false), updateRequestIsInProgress = _d[0], setUpdateRequestIsInProgress = _d[1];
25
25
  var checkWorkflowPermission = useWorkflowCheckPermission();
26
26
  var canUpdateTask = checkWorkflowPermission('UPDATE_TASK') && isOpenTask(isOpen);
27
+ var assigneesRequestRef = useRef(null);
27
28
  useEffect(function () {
28
29
  if (showCurrentAssignee)
29
30
  setCurrentAssignee(assigneeToValue(assignee));
30
- }, [assignee]);
31
+ },
32
+ // eslint-disable-next-line react-hooks/exhaustive-deps
33
+ [assignee]);
31
34
  var getAssignees = useCallback(function (text) {
32
35
  if (workflowPath && canUpdateTask && taskId) {
33
- var filterOutRest_1 = filter(function (item) {
34
- return item.value.toLowerCase().includes(text === null || text === void 0 ? void 0 : text.toLowerCase());
35
- });
36
- if (assignees) {
37
- return Promise.resolve(filterOutRest_1(assignees));
36
+ if (!assigneesRequestRef.current) {
37
+ assigneesRequestRef.current = getAssigneeForTask({
38
+ taskId: taskId,
39
+ workflowPath: workflowPath,
40
+ environment: environment,
41
+ tenant: tenant
42
+ });
38
43
  }
39
- return getSafePromise(getAssigneeForTask({
40
- taskId: taskId,
41
- workflowPath: workflowPath,
42
- environment: environment,
43
- tenant: tenant
44
- }))
44
+ return assigneesRequestRef.current
45
45
  .then(function (result) {
46
46
  var data = result.data;
47
- var assignees = data
47
+ var fetchedAssignees = data
48
48
  .filter(function (a) { return (showCurrentAssignee ? true : a !== assignee); })
49
- .sort(function (a, b) {
50
- return utils.strings.sort('asc', a, b);
51
- })
49
+ .sort(function (a, b) { return utils.strings.sort('asc', a, b); })
52
50
  .map(assigneeToValue);
53
- setAssignees(assignees);
54
- return filterOutRest_1(assignees);
51
+ return filterAssignees(fetchedAssignees, text);
55
52
  })
56
- .catch(showWorkflowError);
53
+ .catch(function (e) {
54
+ showWorkflowError(e);
55
+ assigneesRequestRef.current = null;
56
+ });
57
57
  }
58
- },
59
- // eslint-disable-next-line react-hooks/exhaustive-deps
60
- [
61
- workflowPath,
62
- taskId,
63
- environment,
64
- tenant,
65
- assignees,
66
- setAssignees,
67
- canUpdateTask,
68
- assignee,
69
- showCurrentAssignee
70
- ]);
58
+ }, [workflowPath, taskId, environment, tenant, canUpdateTask, assignee, showCurrentAssignee]);
71
59
  var updateAssignee = useCallback(function (newValue) {
72
60
  var assignee = newValue.value;
73
61
  if (onChange) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.2016",
3
+ "version": "1.4.2018",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./index.js",
@@ -8,7 +8,7 @@
8
8
  "@fluentui/react-context-selector": "^9.1.26",
9
9
  "@googlemaps/markerclusterer": "^2.5.3",
10
10
  "@react-sigma/core": "3.4.0",
11
- "@reltio/mdm-sdk": "^1.4.1895",
11
+ "@reltio/mdm-sdk": "^1.4.1896",
12
12
  "@vis.gl/react-google-maps": "^1.3.0",
13
13
  "d3-cloud": "^1.2.5",
14
14
  "d3-geo": "^2.0.1",