@reltio/components 1.4.2071 → 1.4.2072

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 (174) hide show
  1. package/AttributesView/AttributesView.js +1 -1
  2. package/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.d.ts +2 -3
  3. package/ColumnsSettings/helpers.d.ts +3 -1
  4. package/ColumnsSettings/types.d.ts +8 -0
  5. package/CommentsContainer/CommentsContainer.js +1 -1
  6. package/ConfigureColumnsPopup/ConfigureColumnsPopup.d.ts +23 -40
  7. package/ConfigureColumnsPopup/ConfigureColumnsPopup.js +6 -26
  8. package/EditModeAttributesList/EditModeAttributesList.js +1 -1
  9. package/EditModeAttributesPager/EditModeAttributesPager.test.js +1 -1
  10. package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +1 -1
  11. package/MetadataTypesSelector/MetadataTypesSelector.d.ts +2 -1
  12. package/MetadataTypesSelector/components/SelectMetadataTypesList/SelectMetadataTypesList.d.ts +5 -6
  13. package/MoreAttributesButton/useMoreAttributesItems.d.ts +1 -1
  14. package/ReadOnlyAttributesList/ReadOnlyAttributesList.js +1 -1
  15. package/ReadOnlyAttributesPager/ReadOnlyAttributesPager.js +1 -1
  16. package/ReadOnlyAttributesView/ReadOnlyAttributesView.js +1 -1
  17. package/ScrollableTabs/ScrollableTabs.test.js +69 -19
  18. package/SearchHighlighter/SearchHighlighter.test.js +18 -7
  19. package/SelectAttributesList/SelectAttributesList.d.ts +11 -6
  20. package/SelectAttributesList/SelectAttributesList.js +5 -2
  21. package/SelectorWithOnlyOptionAutoSelect/SelectorWithOnlyOptionAutoSelect.test.js +109 -60
  22. package/SidePanelContentHeader/SidePanelContentHeader.js +2 -2
  23. package/SidePanelContentHeader/SidePanelContentHeader.test.js +104 -0
  24. package/SidePanelEmptyState/SidePanelEmptyState.js +1 -1
  25. package/SidePanelEmptyState/SidePanelEmptyState.test.js +24 -0
  26. package/SimpleAttribute/SimpleAttribute.js +1 -1
  27. package/SimpleAttribute/SimpleAttribute.test.js +155 -80
  28. package/SimpleAttributeEditor/SimpleAttributeEditor.test.js +339 -330
  29. package/SimpleAttributeEditor/useAttributeValuePermissions.js +1 -1
  30. package/SimpleDropDownSelector/SimpleDropDownSelector.test.js +86 -10
  31. package/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.js +1 -1
  32. package/SimpleDropDownSelector/components/DropDownValue/DropDownValue.js +1 -1
  33. package/SimpleMatchRulesBlock/SimpleMatchRulesBlock.test.js +128 -32
  34. package/SmallIconButton/SmallIconButton.test.js +98 -25
  35. package/TableWithBars/TableWithBars.test.js +98 -60
  36. package/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.js +1 -1
  37. package/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.js +1 -1
  38. package/Tags/Tags.d.ts +0 -1
  39. package/Tags/Tags.test.js +8 -7
  40. package/TransitiveMatchBlock/TransitiveMatchBlock.test.js +78 -22
  41. package/TransitiveMatchRule/TransitiveMatchRule.test.js +78 -37
  42. package/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.js +1 -1
  43. package/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.test.js +12 -18
  44. package/UploadFileButton/UploadFileButton.d.ts +2 -2
  45. package/UploadFileButton/UploadFileButton.test.js +199 -0
  46. package/UploadImageDialog/UploadImageDialog.test.js +1 -0
  47. package/UploadImageDialog/components/DividerWithText/DividerWithText.js +1 -1
  48. package/UploadImageDialog/components/ErrorSnackbar/ErrorSnackbar.test.js +80 -22
  49. package/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.js +1 -1
  50. package/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.test.js +162 -49
  51. package/ValueChip/ValueChip.test.js +7 -23
  52. package/VirtualGroupedList/VirtualGroupedList.d.ts +19 -31
  53. package/VirtualGroupedList/VirtualGroupedList.js +11 -36
  54. package/VirtualGroupedList/VirtualGroupedList.test.js +224 -0
  55. package/VirtualGroupedList/helpers.d.ts +7 -2
  56. package/VirtualGroupedList/helpers.js +3 -1
  57. package/VirtualGroupedList/index.d.ts +1 -1
  58. package/VirtualGroupedList/types.d.ts +10 -6
  59. package/VirtualGroupedList/useScrollToFocusItem.d.ts +8 -5
  60. package/WhiteSearchInput/{WhiteSearchInput.spec.js → WhiteSearchInput.test.js} +3 -8
  61. package/cjs/AttributesView/AttributesView.js +2 -2
  62. package/cjs/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.d.ts +2 -3
  63. package/cjs/ColumnsSettings/helpers.d.ts +3 -1
  64. package/cjs/ColumnsSettings/types.d.ts +8 -0
  65. package/cjs/ColumnsSettings/types.js +2 -0
  66. package/cjs/CommentsContainer/CommentsContainer.js +1 -1
  67. package/cjs/ConfigureColumnsPopup/ConfigureColumnsPopup.d.ts +23 -40
  68. package/cjs/ConfigureColumnsPopup/ConfigureColumnsPopup.js +6 -26
  69. package/cjs/EditModeAttributesList/EditModeAttributesList.js +2 -2
  70. package/cjs/EditModeAttributesPager/EditModeAttributesPager.test.js +2 -2
  71. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +2 -2
  72. package/cjs/MetadataTypesSelector/MetadataTypesSelector.d.ts +2 -1
  73. package/cjs/MetadataTypesSelector/components/SelectMetadataTypesList/SelectMetadataTypesList.d.ts +5 -6
  74. package/cjs/MoreAttributesButton/useMoreAttributesItems.d.ts +1 -1
  75. package/cjs/ReadOnlyAttributesList/ReadOnlyAttributesList.js +2 -2
  76. package/cjs/ReadOnlyAttributesPager/ReadOnlyAttributesPager.js +2 -2
  77. package/cjs/ReadOnlyAttributesView/ReadOnlyAttributesView.js +2 -2
  78. package/cjs/ScrollableTabs/ScrollableTabs.test.js +69 -19
  79. package/cjs/SearchHighlighter/SearchHighlighter.test.js +18 -7
  80. package/cjs/SelectAttributesList/SelectAttributesList.d.ts +11 -6
  81. package/cjs/SelectAttributesList/SelectAttributesList.js +5 -2
  82. package/cjs/SelectorWithOnlyOptionAutoSelect/SelectorWithOnlyOptionAutoSelect.test.js +109 -60
  83. package/cjs/SidePanelContentHeader/SidePanelContentHeader.js +2 -2
  84. package/cjs/SidePanelContentHeader/SidePanelContentHeader.test.js +109 -0
  85. package/cjs/SidePanelEmptyState/SidePanelEmptyState.js +1 -1
  86. package/cjs/SidePanelEmptyState/SidePanelEmptyState.test.js +29 -0
  87. package/cjs/SimpleAttribute/SimpleAttribute.js +1 -1
  88. package/cjs/SimpleAttribute/SimpleAttribute.test.js +155 -80
  89. package/cjs/SimpleAttributeEditor/SimpleAttributeEditor.test.js +338 -352
  90. package/cjs/SimpleAttributeEditor/useAttributeValuePermissions.js +2 -2
  91. package/cjs/SimpleDropDownSelector/SimpleDropDownSelector.test.js +86 -10
  92. package/cjs/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.js +1 -1
  93. package/cjs/SimpleDropDownSelector/components/DropDownValue/DropDownValue.js +1 -1
  94. package/cjs/SimpleMatchRulesBlock/SimpleMatchRulesBlock.test.js +127 -31
  95. package/cjs/SmallIconButton/SmallIconButton.test.js +98 -25
  96. package/cjs/TableWithBars/TableWithBars.test.js +98 -60
  97. package/cjs/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.js +1 -1
  98. package/cjs/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.js +1 -1
  99. package/cjs/Tags/Tags.d.ts +0 -1
  100. package/cjs/Tags/Tags.test.js +8 -7
  101. package/cjs/TransitiveMatchBlock/TransitiveMatchBlock.test.js +77 -21
  102. package/cjs/TransitiveMatchRule/TransitiveMatchRule.test.js +78 -37
  103. package/cjs/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.js +1 -1
  104. package/cjs/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.test.js +12 -18
  105. package/cjs/UploadFileButton/UploadFileButton.d.ts +2 -2
  106. package/cjs/UploadFileButton/UploadFileButton.test.js +204 -0
  107. package/cjs/UploadImageDialog/UploadImageDialog.test.js +1 -0
  108. package/cjs/UploadImageDialog/components/DividerWithText/DividerWithText.js +1 -1
  109. package/cjs/UploadImageDialog/components/ErrorSnackbar/ErrorSnackbar.test.js +80 -22
  110. package/cjs/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.js +1 -1
  111. package/cjs/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.test.js +162 -49
  112. package/cjs/ValueChip/ValueChip.test.js +7 -23
  113. package/cjs/VirtualGroupedList/VirtualGroupedList.d.ts +19 -31
  114. package/cjs/VirtualGroupedList/VirtualGroupedList.js +11 -36
  115. package/cjs/VirtualGroupedList/VirtualGroupedList.test.js +252 -0
  116. package/cjs/VirtualGroupedList/helpers.d.ts +7 -2
  117. package/cjs/VirtualGroupedList/helpers.js +3 -1
  118. package/cjs/VirtualGroupedList/index.d.ts +1 -1
  119. package/cjs/VirtualGroupedList/types.d.ts +10 -6
  120. package/cjs/VirtualGroupedList/useScrollToFocusItem.d.ts +8 -5
  121. package/cjs/WhiteSearchInput/{WhiteSearchInput.spec.js → WhiteSearchInput.test.js} +3 -8
  122. package/cjs/features/crosswalks/hooks/useAttributeActions.test.js +24 -25
  123. package/cjs/features/crosswalks/hooks/useCrosswalkActions.test.js +10 -11
  124. package/cjs/features/workflow/hooks/useChangeRequest.test.js +5 -6
  125. package/cjs/hooks/useCommentsEntitiesMap/useCommentsEntitiesMap.test.js +8 -9
  126. package/cjs/hooks/useKeyboardNavigation/useKeyboardNavigation.d.ts +9 -13
  127. package/features/crosswalks/hooks/useAttributeActions.test.js +1 -2
  128. package/features/crosswalks/hooks/useCrosswalkActions.test.js +1 -2
  129. package/features/workflow/hooks/useChangeRequest.test.js +1 -2
  130. package/hooks/useCommentsEntitiesMap/useCommentsEntitiesMap.test.js +1 -2
  131. package/hooks/useKeyboardNavigation/useKeyboardNavigation.d.ts +9 -13
  132. package/package.json +1 -1
  133. package/SidePanelContentHeader/SidePanelContentHeader.spec.js +0 -49
  134. package/SidePanelEmptyState/SidePanelEmptyState.spec.js +0 -24
  135. package/SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.js +0 -103
  136. package/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.js +0 -13
  137. package/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.js +0 -21
  138. package/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.js +0 -20
  139. package/UploadFileButton/UploadFileButton.spec.js +0 -219
  140. package/UploadImageDialog/components/DividerWithText/DividerWithText.test.js +0 -9
  141. package/VirtualGroupedList/VirtualGroupedList.spec.js +0 -282
  142. package/cjs/SidePanelContentHeader/SidePanelContentHeader.spec.js +0 -54
  143. package/cjs/SidePanelEmptyState/SidePanelEmptyState.spec.d.ts +0 -1
  144. package/cjs/SidePanelEmptyState/SidePanelEmptyState.spec.js +0 -29
  145. package/cjs/SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.d.ts +0 -1
  146. package/cjs/SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.js +0 -108
  147. package/cjs/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.d.ts +0 -1
  148. package/cjs/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.js +0 -18
  149. package/cjs/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.d.ts +0 -1
  150. package/cjs/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.js +0 -26
  151. package/cjs/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.d.ts +0 -1
  152. package/cjs/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.js +0 -25
  153. package/cjs/UploadFileButton/UploadFileButton.spec.d.ts +0 -1
  154. package/cjs/UploadFileButton/UploadFileButton.spec.js +0 -224
  155. package/cjs/UploadImageDialog/components/DividerWithText/DividerWithText.test.d.ts +0 -1
  156. package/cjs/UploadImageDialog/components/DividerWithText/DividerWithText.test.js +0 -14
  157. package/cjs/VirtualGroupedList/VirtualGroupedList.spec.d.ts +0 -1
  158. package/cjs/VirtualGroupedList/VirtualGroupedList.spec.js +0 -287
  159. package/cjs/WhiteSearchInput/WhiteSearchInput.spec.d.ts +0 -1
  160. /package/{SidePanelContentHeader/SidePanelContentHeader.spec.d.ts → ColumnsSettings/types.js} +0 -0
  161. /package/{SidePanelEmptyState/SidePanelEmptyState.spec.d.ts → SidePanelContentHeader/SidePanelContentHeader.test.d.ts} +0 -0
  162. /package/{SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.d.ts → SidePanelEmptyState/SidePanelEmptyState.test.d.ts} +0 -0
  163. /package/{SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.d.ts → UploadFileButton/UploadFileButton.test.d.ts} +0 -0
  164. /package/{TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.d.ts → VirtualGroupedList/VirtualGroupedList.test.d.ts} +0 -0
  165. /package/{TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.d.ts → WhiteSearchInput/WhiteSearchInput.test.d.ts} +0 -0
  166. /package/{UploadFileButton/UploadFileButton.spec.d.ts → cjs/SidePanelContentHeader/SidePanelContentHeader.test.d.ts} +0 -0
  167. /package/{UploadImageDialog/components/DividerWithText/DividerWithText.test.d.ts → cjs/SidePanelEmptyState/SidePanelEmptyState.test.d.ts} +0 -0
  168. /package/{VirtualGroupedList/VirtualGroupedList.spec.d.ts → cjs/UploadFileButton/UploadFileButton.test.d.ts} +0 -0
  169. /package/{WhiteSearchInput/WhiteSearchInput.spec.d.ts → cjs/VirtualGroupedList/VirtualGroupedList.test.d.ts} +0 -0
  170. /package/cjs/{SidePanelContentHeader/SidePanelContentHeader.spec.d.ts → WhiteSearchInput/WhiteSearchInput.test.d.ts} +0 -0
  171. /package/cjs/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.d.ts +0 -0
  172. /package/cjs/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.js +0 -0
  173. /package/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.d.ts +0 -0
  174. /package/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.js +0 -0
@@ -44,11 +44,11 @@ var ShowLess_1 = require("../ShowLess");
44
44
  var constants_1 = require("../constants");
45
45
  var attributesView_1 = require("../helpers/attributesView");
46
46
  var HiddenAttributesContext_1 = require("../contexts/HiddenAttributesContext");
47
- var AllwaysVisibleAttributesContext_1 = require("../contexts/AllwaysVisibleAttributesContext");
47
+ var AlwaysVisibleAttributesContext_1 = require("../contexts/AlwaysVisibleAttributesContext");
48
48
  var ReadOnlyAttributesList = function (_a) {
49
49
  var _b = _a.attrTypes, attrTypes = _b === void 0 ? [] : _b, entity = _a.entity, parentUri = _a.parentUri, drawLines = _a.drawLines, children = _a.children, className = _a.className, max = _a.max, _c = _a.fixedTypeUris, fixedTypeUris = _c === void 0 ? constants_1.FIXED_TYPE_URIS : _c, showNonOv = _a.showNonOv, classes = _a.classes;
50
50
  var hiddenAttributes = (0, react_1.useContext)(HiddenAttributesContext_1.HiddenAttributesContext);
51
- var alwaysVisibleAttributes = (0, react_1.useContext)(AllwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext);
51
+ var alwaysVisibleAttributes = (0, react_1.useContext)(AlwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext);
52
52
  var entityUri = parentUri && (0, mdm_sdk_1.getBaseUri)(parentUri);
53
53
  var currentEntityHiddenAttributes = (0, react_1.useMemo)(function () { return hiddenAttributes[entityUri] || []; }, [hiddenAttributes, entityUri]);
54
54
  var filteredAttrTypes = (0, react_1.useMemo)(function () { return (attrTypes || []).filter(function (attrType) { return !currentEntityHiddenAttributes.includes(attrType.uri); }); }, [attrTypes, currentEntityHiddenAttributes]);
@@ -48,7 +48,7 @@ var SpecialRenderer_1 = require("./components/SpecialRenderer");
48
48
  var ImageLineRenderer_1 = require("./components/ImageLineRenderer");
49
49
  var EmptyRenderer_1 = require("./components/EmptyRenderer");
50
50
  var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
51
- var AllwaysVisibleAttributesContext_1 = require("../contexts/AllwaysVisibleAttributesContext");
51
+ var AlwaysVisibleAttributesContext_1 = require("../contexts/AlwaysVisibleAttributesContext");
52
52
  var styles_1 = require("./styles");
53
53
  var RENDERER_TYPES = {
54
54
  oneLine: 'oneLine',
@@ -66,7 +66,7 @@ var ReadOnlyAttributesPager = function (_a) {
66
66
  var maxValuesInResponse = (0, MdmModuleContext_1.useMdmMaxValuesInResponse)();
67
67
  var max = (_f = maxProp !== null && maxProp !== void 0 ? maxProp : maxValuesInResponse) !== null && _f !== void 0 ? _f : Infinity;
68
68
  var partitionByOv = (0, ramda_1.partition)(mdm_sdk_1.isOv);
69
- var alwaysVisibleAttributes = (0, react_1.useContext)(AllwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext);
69
+ var alwaysVisibleAttributes = (0, react_1.useContext)(AlwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext);
70
70
  var isAlwaysVisible = (0, react_1.useMemo)(function () { return alwaysVisibleAttributes === null || alwaysVisibleAttributes === void 0 ? void 0 : alwaysVisibleAttributes.includes(attributeType.uri); }, [attributeType.uri, alwaysVisibleAttributes]);
71
71
  if (!values || (!values.length && !isAlwaysVisible)) {
72
72
  return null;
@@ -35,7 +35,7 @@ var Box_1 = __importDefault(require("@mui/material/Box"));
35
35
  var Typography_1 = __importDefault(require("@mui/material/Typography"));
36
36
  var PivotingAttributeContext_1 = require("../contexts/PivotingAttributeContext");
37
37
  var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
38
- var AllwaysVisibleAttributesContext_1 = require("../contexts/AllwaysVisibleAttributesContext");
38
+ var AlwaysVisibleAttributesContext_1 = require("../contexts/AlwaysVisibleAttributesContext");
39
39
  var BasicView_1 = require("../BasicView");
40
40
  var FacetViewHeader_1 = require("../FacetViewHeader");
41
41
  var ReadOnlyAttributesList_1 = require("../ReadOnlyAttributesList");
@@ -51,7 +51,7 @@ var ReadOnlyAttributesView = function (_a) {
51
51
  var filteredAttrTypes = (0, react_1.useMemo)(function () { return (0, attributesView_1.getFilteredAttrTypes)(metadata, entity.type, includeUris, excludeUris); }, [excludeUris, includeUris, metadata, entity]);
52
52
  var attributesCount = attributesCountProp || DEFAULT_ATTRIBUTES_COUNT;
53
53
  var attributesList = (0, mdm_sdk_1.getAttributesListForReadMode)(filteredAttrTypes, entity);
54
- var alwaysVisible = (0, react_1.useContext)(AllwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext);
54
+ var alwaysVisible = (0, react_1.useContext)(AlwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext);
55
55
  var isShowAttributeList = attributesList.filter(function (_a) {
56
56
  var values = _a.values;
57
57
  return !(0, mdm_sdk_1.isEmptyValue)(values);
@@ -10,17 +10,51 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
13
49
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
51
  };
16
52
  Object.defineProperty(exports, "__esModule", { value: true });
17
53
  var react_1 = __importDefault(require("react"));
18
- var enzyme_1 = require("enzyme");
19
54
  var ramda_1 = require("ramda");
20
- var Tabs_1 = __importDefault(require("@mui/material/Tabs"));
21
- var Tab_1 = __importDefault(require("@mui/material/Tab"));
55
+ var react_2 = require("@testing-library/react");
56
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
22
57
  var ScrollableTabs_1 = require("./ScrollableTabs");
23
- var ExpandedValueTooltip_1 = require("../ExpandedValueTooltip");
24
58
  describe('ScrollableTabs', function () {
25
59
  var generateTabs = function (count, additionalLabel) {
26
60
  if (additionalLabel === void 0) { additionalLabel = false; }
@@ -31,23 +65,39 @@ describe('ScrollableTabs', function () {
31
65
  tabs: generateTabs(3),
32
66
  onChange: jest.fn()
33
67
  };
68
+ var setUp = function (props) {
69
+ if (props === void 0) { props = {}; }
70
+ var user = user_event_1.default.setup();
71
+ return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(ScrollableTabs_1.ScrollableTabs, __assign({}, defaultProps, props))));
72
+ };
34
73
  it('should render main parts', function () {
35
- var wrapper = (0, enzyme_1.mount)(react_1.default.createElement(ScrollableTabs_1.ScrollableTabs, __assign({}, defaultProps)));
36
- expect(wrapper.find(Tabs_1.default)).toHaveLength(1);
37
- expect(wrapper.find(Tabs_1.default).prop('value')).toBe(defaultProps.value);
38
- expect(wrapper.find(Tab_1.default)).toHaveLength(3);
39
- expect(wrapper.find(ExpandedValueTooltip_1.ExpandedValueTooltip)).toHaveLength(3);
74
+ setUp();
75
+ expect(react_2.screen.getByRole('tablist')).toBeInTheDocument();
76
+ var tabs = react_2.screen.getAllByRole('tab');
77
+ expect(tabs).toHaveLength(3);
78
+ expect(tabs[0]).toHaveTextContent('label0');
79
+ expect(tabs[1]).toHaveTextContent('label1');
80
+ expect(tabs[2]).toHaveTextContent('label2');
40
81
  });
41
82
  it('should render additional label', function () {
42
- var additionalLabel = react_1.default.createElement("div", { className: "additionalLabel" });
43
- var wrapper = (0, enzyme_1.mount)(react_1.default.createElement(ScrollableTabs_1.ScrollableTabs, __assign({}, defaultProps, { tabs: generateTabs(1, additionalLabel) })));
44
- expect(wrapper.find('.additionalLabel')).toHaveLength(1);
45
- });
46
- it('should call prop onChange', function () {
47
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(ScrollableTabs_1.ScrollableTabs, __assign({}, defaultProps)));
48
- var event = {};
49
- var value = 'value2';
50
- wrapper.find(Tabs_1.default).prop('onChange')(event, value);
51
- expect(defaultProps.onChange).toHaveBeenCalledWith(value);
83
+ var additionalLabel = react_1.default.createElement("div", { "data-reltio-id": "additional-label" });
84
+ setUp({ tabs: generateTabs(1, additionalLabel) });
85
+ var tab = react_2.screen.getByRole('tab');
86
+ expect(tab).toHaveTextContent('label0');
87
+ expect((0, react_2.within)(tab).getByTestId('additional-label')).toBeInTheDocument();
52
88
  });
89
+ it('should call prop onChange', function () { return __awaiter(void 0, void 0, void 0, function () {
90
+ var user;
91
+ return __generator(this, function (_a) {
92
+ switch (_a.label) {
93
+ case 0:
94
+ user = setUp().user;
95
+ return [4 /*yield*/, user.click(react_2.screen.getByText('label2'))];
96
+ case 1:
97
+ _a.sent();
98
+ expect(defaultProps.onChange).toHaveBeenCalledWith('value2');
99
+ return [2 /*return*/];
100
+ }
101
+ });
102
+ }); });
53
103
  });
@@ -4,18 +4,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var react_1 = __importDefault(require("react"));
7
- var enzyme_1 = require("enzyme");
7
+ var react_2 = require("@testing-library/react");
8
8
  var SearchValueContext_1 = require("../contexts/SearchValueContext");
9
9
  var SearchHighlighter_1 = require("./SearchHighlighter");
10
- var Highlighter_1 = require("../Highlighter");
11
10
  describe('SearchHighlighter test', function () {
12
11
  it('should render SearchHighlighter as well', function () {
13
12
  var highlightedValue = '1';
14
13
  var attributeValue = 'Attribute 1 Label';
15
- var component = (0, enzyme_1.mount)(react_1.default.createElement(SearchValueContext_1.SearchValueContext.Provider, { value: highlightedValue },
16
- react_1.default.createElement(SearchHighlighter_1.SearchHighlighter, { text: attributeValue })));
17
- expect(component.find(Highlighter_1.Highlighter).prop('text')).toBe(attributeValue);
18
- expect(component.find(Highlighter_1.Highlighter).prop('highlight')).toBe(highlightedValue);
19
- expect(component.find(Highlighter_1.Highlighter).hasClass('highlightedText')).toBeTruthy();
14
+ var container = (0, react_2.render)(react_1.default.createElement(SearchValueContext_1.SearchValueContext.Provider, { value: highlightedValue },
15
+ react_1.default.createElement(SearchHighlighter_1.SearchHighlighter, { text: attributeValue }))).container;
16
+ var highlightedText = react_2.screen.getByText(highlightedValue);
17
+ expect(highlightedText).toBeInTheDocument();
18
+ expect(highlightedText).toHaveClass('highlightedText');
19
+ expect(container).toHaveTextContent(attributeValue);
20
+ });
21
+ it('should work without SearchValueContext', function () {
22
+ (0, react_2.render)(react_1.default.createElement(SearchHighlighter_1.SearchHighlighter, { text: 'Attribute text' }));
23
+ expect(react_2.screen.getByText('Attribute text')).toBeInTheDocument();
24
+ });
25
+ it('should work without highlighted value', function () {
26
+ var attributeValue = 'Attribute 1 Label';
27
+ var container = (0, react_2.render)(react_1.default.createElement(SearchValueContext_1.SearchValueContext.Provider, { value: undefined },
28
+ react_1.default.createElement(SearchHighlighter_1.SearchHighlighter, { text: attributeValue }))).container;
29
+ expect(container).toHaveTextContent(attributeValue);
30
+ expect(container.querySelector('.highlightedText')).toBeNull();
20
31
  });
21
32
  });
@@ -1,14 +1,19 @@
1
1
  import React from 'react';
2
- import { AttributeType } from '@reltio/mdm-sdk';
2
+ import { VirtualGroupedList } from '../VirtualGroupedList';
3
3
  import { AttributeSelectorItem } from '../types';
4
- type Data = {
5
- attrType?: AttributeType;
4
+ type Data = AttributeSelectorItem & {
5
+ id: string;
6
+ label: string;
7
+ filterText?: string;
8
+ notSelectable?: boolean;
9
+ needGroupIcon?: boolean;
10
+ LogoIcon?: React.ElementType;
6
11
  };
7
- type Props = {
12
+ type Props = Omit<React.ComponentProps<typeof VirtualGroupedList>, 'renderItem' | 'getItemSize'> & {
8
13
  selectedAttributes: AttributeSelectorItem[];
9
14
  focusIndex: number;
10
15
  hideCheckBox: boolean;
11
16
  onItemClick: (data: Data, checked: boolean, groupId: string) => void;
12
- } & Record<string, unknown>;
13
- declare const _default: React.MemoExoticComponent<({ selectedAttributes, onItemClick, focusIndex, hideCheckBox, ...otherProps }: Props) => React.JSX.Element>;
17
+ };
18
+ declare const _default: ({ selectedAttributes, onItemClick, focusIndex, hideCheckBox, ...otherProps }: Props) => React.JSX.Element;
14
19
  export default _default;
@@ -62,7 +62,9 @@ var ITEM_GROUP_TITLE_HEIGHT = 40;
62
62
  var SelectAttributesList = function (_a) {
63
63
  var selectedAttributes = _a.selectedAttributes, onItemClick = _a.onItemClick, focusIndex = _a.focusIndex, hideCheckBox = _a.hideCheckBox, otherProps = __rest(_a, ["selectedAttributes", "onItemClick", "focusIndex", "hideCheckBox"]);
64
64
  var metadata = (0, MdmModuleContext_1.useMdmMetadata)();
65
- var getItemSize = function (i, item) { return (item.items ? ITEM_GROUP_TITLE_HEIGHT : ITEM_HEIGHT); };
65
+ var getItemSize = function (i, item) {
66
+ return item.items ? ITEM_GROUP_TITLE_HEIGHT : ITEM_HEIGHT;
67
+ };
66
68
  var renderGroupTitle = function (style, item) { return (react_1.default.createElement(ListItem_1.default, { component: 'div', className: SelectAttributesList_module_css_1.default.subHeader, style: style, key: "group-".concat(item.item.id) },
67
69
  item.item.needGroupIcon && react_1.default.createElement(AttributeGroupIcon_1.AttributeGroupIcon, { group: item.item, metadata: metadata }),
68
70
  react_1.default.createElement("div", { className: SelectAttributesList_module_css_1.default.subHeaderTitle }, item.item.title))); };
@@ -74,4 +76,5 @@ var SelectAttributesList = function (_a) {
74
76
  };
75
77
  return (react_1.default.createElement(VirtualGroupedList_1.VirtualGroupedList, __assign({ getItemSize: getItemSize, renderItem: renderItem, renderGroupTitle: renderGroupTitle, focusIndex: focusIndex }, otherProps)));
76
78
  };
77
- exports.default = (0, react_1.memo)(SelectAttributesList);
79
+ var typedMemo = react_1.memo;
80
+ exports.default = typedMemo(SelectAttributesList);
@@ -10,81 +10,130 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
13
49
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
51
  };
16
52
  Object.defineProperty(exports, "__esModule", { value: true });
17
53
  var react_1 = __importDefault(require("react"));
18
- var enzyme_1 = require("enzyme");
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
19
56
  var SelectorWithOnlyOptionAutoSelect_1 = require("./SelectorWithOnlyOptionAutoSelect");
20
57
  describe('SelectorWithOnlyOptionAutoSelect tests', function () {
58
+ var defaultProps = {
59
+ onChange: jest.fn(),
60
+ options: [],
61
+ value: null
62
+ };
63
+ var setUp = function (props) {
64
+ if (props === void 0) { props = {}; }
65
+ var user = user_event_1.default.setup();
66
+ return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(SelectorWithOnlyOptionAutoSelect_1.SelectorWithOnlyOptionAutoSelect, __assign({}, defaultProps, props))));
67
+ };
21
68
  describe('options count > 1', function () {
22
- var props = {
23
- onChange: jest.fn(),
24
- options: [
25
- {
26
- value: '1',
27
- label: 'First'
28
- },
29
- {
30
- value: '2',
31
- label: 'Second'
69
+ var options = [
70
+ { value: '1', label: 'First' },
71
+ { value: '2', label: 'Second' }
72
+ ];
73
+ it('should render DropDownEditor', function () { return __awaiter(void 0, void 0, void 0, function () {
74
+ var user, select;
75
+ return __generator(this, function (_a) {
76
+ switch (_a.label) {
77
+ case 0:
78
+ user = setUp({ options: options, value: '1' }).user;
79
+ select = react_2.screen.getByRole('button');
80
+ expect(react_2.screen.getByText('First')).toBeInTheDocument();
81
+ expect(select).toBeInTheDocument();
82
+ return [4 /*yield*/, user.click(select)];
83
+ case 1:
84
+ _a.sent();
85
+ expect(react_2.screen.getByRole('option', { name: 'First' })).toBeInTheDocument();
86
+ expect(react_2.screen.getByRole('option', { name: 'Second' })).toBeInTheDocument();
87
+ return [2 /*return*/];
32
88
  }
33
- ],
34
- value: '1'
35
- };
36
- it('should render DropDownEditor', function () {
37
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(SelectorWithOnlyOptionAutoSelect_1.SelectorWithOnlyOptionAutoSelect, __assign({}, props)));
38
- expect(wrapper.find('DropDownEditor').props()).toMatchObject({
39
- value: props.value,
40
- entries: [
41
- {
42
- value: '1',
43
- label: 'First'
44
- },
45
- {
46
- value: '2',
47
- label: 'Second'
48
- }
49
- ]
50
89
  });
51
- });
52
- it('should call props.onChange on value change', function () {
53
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(SelectorWithOnlyOptionAutoSelect_1.SelectorWithOnlyOptionAutoSelect, __assign({}, props)));
54
- expect(props.onChange).not.toHaveBeenCalled();
55
- var newValue = '2';
56
- wrapper.find('DropDownEditor').simulate('change', newValue);
57
- expect(props.onChange).toHaveBeenCalledWith(newValue);
58
- wrapper.find('DropDownEditor').simulate('change', '');
59
- expect(props.onChange).toHaveBeenCalledWith(null);
60
- });
61
- it('should render empty option if empty label specified', function () {
62
- var emptyLabel = 'EMPTY_LABEL';
63
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(SelectorWithOnlyOptionAutoSelect_1.SelectorWithOnlyOptionAutoSelect, __assign({}, props, { emptyLabel: emptyLabel })));
64
- expect(wrapper.find('DropDownEditor').prop('entries')).toContainEqual({
65
- value: '',
66
- label: emptyLabel
90
+ }); });
91
+ it('should call props.onChange on value change', function () { return __awaiter(void 0, void 0, void 0, function () {
92
+ var user;
93
+ return __generator(this, function (_a) {
94
+ switch (_a.label) {
95
+ case 0:
96
+ user = setUp({ options: options }).user;
97
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('button'))];
98
+ case 1:
99
+ _a.sent();
100
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('option', { name: 'Second' }))];
101
+ case 2:
102
+ _a.sent();
103
+ expect(defaultProps.onChange).toHaveBeenCalledWith('2');
104
+ return [2 /*return*/];
105
+ }
67
106
  });
68
- });
107
+ }); });
108
+ it('should render empty option if empty label specified', function () { return __awaiter(void 0, void 0, void 0, function () {
109
+ var emptyLabel, user;
110
+ return __generator(this, function (_a) {
111
+ switch (_a.label) {
112
+ case 0:
113
+ emptyLabel = 'EMPTY_LABEL';
114
+ user = setUp({ options: options, value: '1', emptyLabel: emptyLabel }).user;
115
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('button'))];
116
+ case 1:
117
+ _a.sent();
118
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('option', { name: emptyLabel }))];
119
+ case 2:
120
+ _a.sent();
121
+ expect(defaultProps.onChange).toHaveBeenCalledWith(null);
122
+ return [2 /*return*/];
123
+ }
124
+ });
125
+ }); });
69
126
  });
70
127
  describe('options count === 1', function () {
71
- var props = {
72
- onChange: jest.fn(),
73
- options: [
74
- {
75
- value: '1',
76
- label: 'Only'
77
- }
78
- ]
79
- };
128
+ var options = [{ value: '1', label: 'Only' }];
80
129
  it('should render label of the only option', function () {
81
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(SelectorWithOnlyOptionAutoSelect_1.SelectorWithOnlyOptionAutoSelect, __assign({}, props)));
82
- expect(wrapper.find('DropDownEditor')).toHaveLength(0);
83
- expect(wrapper.text()).toBe('Only');
130
+ setUp({ options: options });
131
+ expect(react_2.screen.getByText('Only')).toBeInTheDocument();
132
+ expect(react_2.screen.queryByRole('button')).not.toBeInTheDocument();
84
133
  });
85
- it('should autoselect value of the only option', function () {
86
- (0, enzyme_1.mount)(react_1.default.createElement(SelectorWithOnlyOptionAutoSelect_1.SelectorWithOnlyOptionAutoSelect, __assign({}, props)));
87
- expect(props.onChange).toHaveBeenCalledWith('1');
134
+ it('should select automatically value of the only option', function () {
135
+ setUp({ options: options, value: null });
136
+ expect(defaultProps.onChange).toHaveBeenCalledWith('1');
88
137
  });
89
138
  });
90
139
  });
@@ -17,9 +17,9 @@ var SidePanelContentHeader = function (_a) {
17
17
  return (react_1.default.createElement("div", { className: styles.container },
18
18
  react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, { size: "L", icon: Close_1.default, onClick: onClose, className: styles.icon, tooltipTitle: ui_i18n_1.default.text('Close') }),
19
19
  content || (react_1.default.createElement(react_1.default.Fragment, null,
20
- react_1.default.createElement(Typography_1.default, { variant: "h6" }, mainTitle),
20
+ react_1.default.createElement(Typography_1.default, { "data-reltio-id": "content-header-title", variant: "h6" }, mainTitle),
21
21
  secondTitle && (react_1.default.createElement(react_1.default.Fragment, null,
22
- react_1.default.createElement(Divider_1.default, { orientation: "vertical", flexItem: true, className: styles.divider }),
22
+ react_1.default.createElement(Divider_1.default, { "data-reltio-id": "content-header-divider", orientation: "vertical", flexItem: true, className: styles.divider }),
23
23
  react_1.default.createElement(Typography_1.default, { variant: "body1", color: "textSecondary", className: styles.secondTitle }, secondTitle))),
24
24
  rightContent))));
25
25
  };
@@ -0,0 +1,109 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ var react_1 = __importDefault(require("react"));
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
56
+ var SidePanelContentHeader_1 = require("./SidePanelContentHeader");
57
+ var test_utils_1 = require("../test-utils");
58
+ describe('SidePanelContentHeader test', function () {
59
+ var mainTitle = 'mainTitle';
60
+ var secondTitle = 'secondTitle';
61
+ var rightContent = 'rightContent';
62
+ var defaultProps = {
63
+ onClose: jest.fn(),
64
+ mainTitle: mainTitle,
65
+ secondTitle: secondTitle,
66
+ rightContent: rightContent
67
+ };
68
+ var setUp = function (props) {
69
+ if (props === void 0) { props = {}; }
70
+ var user = user_event_1.default.setup();
71
+ return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(SidePanelContentHeader_1.SidePanelContentHeader, __assign({}, defaultProps, props))));
72
+ };
73
+ it('should renders all component well', function () {
74
+ setUp();
75
+ expect(react_2.screen.getByText(mainTitle)).toBeInTheDocument();
76
+ expect(react_2.screen.getByTestId('content-header-divider')).toBeInTheDocument();
77
+ expect(react_2.screen.getByText(secondTitle)).toBeInTheDocument();
78
+ expect(react_2.screen.getByText(rightContent)).toBeInTheDocument();
79
+ var closeButton = react_2.screen.getByRole('button');
80
+ expect((0, test_utils_1.getMuiIconByName)('Close', closeButton)).toBeInTheDocument();
81
+ });
82
+ it('should renders component with content', function () {
83
+ var textContent = 'Test content';
84
+ var content = react_1.default.createElement("div", null, textContent);
85
+ setUp({ content: content });
86
+ expect(react_2.screen.getByText(textContent)).toBeInTheDocument();
87
+ expect(react_2.screen.queryByTestId('content-header-title')).not.toBeInTheDocument();
88
+ });
89
+ it('should not render Divider with empty secondTitle', function () {
90
+ setUp({ secondTitle: '' });
91
+ expect(react_2.screen.queryByTestId('content-header-divider')).not.toBeInTheDocument();
92
+ });
93
+ it('should call onClose after button click', function () { return __awaiter(void 0, void 0, void 0, function () {
94
+ var onClose, user, closeButton;
95
+ return __generator(this, function (_a) {
96
+ switch (_a.label) {
97
+ case 0:
98
+ onClose = jest.fn();
99
+ user = setUp({ onClose: onClose }).user;
100
+ closeButton = react_2.screen.getByRole('button');
101
+ return [4 /*yield*/, user.click(closeButton)];
102
+ case 1:
103
+ _a.sent();
104
+ expect(onClose).toHaveBeenCalled();
105
+ return [2 /*return*/];
106
+ }
107
+ });
108
+ }); });
109
+ });
@@ -15,6 +15,6 @@ var SidePanelEmptyState = function (_a) {
15
15
  react_1.default.createElement(IconRenderer, { className: styles.logo }),
16
16
  react_1.default.createElement("div", { className: styles.textBox },
17
17
  react_1.default.createElement(Typography_1.default, { className: styles.text }, text),
18
- secondaryText && react_1.default.createElement(Typography_1.default, { className: styles.secondaryText }, secondaryText))));
18
+ secondaryText && (react_1.default.createElement(Typography_1.default, { "data-reltio-id": "empty-state-secondary-text", className: styles.secondaryText }, secondaryText)))));
19
19
  };
20
20
  exports.SidePanelEmptyState = SidePanelEmptyState;
@@ -0,0 +1,29 @@
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_2 = require("@testing-library/react");
8
+ var icons_1 = require("../icons");
9
+ var SidePanelEmptyState_1 = require("./SidePanelEmptyState");
10
+ describe('SidePanelEmptyState test', function () {
11
+ it('should render correct default state', function () {
12
+ (0, react_2.render)(react_1.default.createElement(SidePanelEmptyState_1.SidePanelEmptyState, { text: "test" }));
13
+ expect(react_2.screen.getByText('test')).toBeInTheDocument();
14
+ expect(react_2.screen.getByTestId('SvgAttributesList')).toBeInTheDocument();
15
+ expect(react_2.screen.queryByTestId('empty-state-secondary-text')).not.toBeInTheDocument();
16
+ });
17
+ it('should render icon passed in IconRenderer', function () {
18
+ (0, react_2.render)(react_1.default.createElement(SidePanelEmptyState_1.SidePanelEmptyState, { IconRenderer: icons_1.NoData, text: "test" }));
19
+ expect(react_2.screen.getByText('test')).toBeInTheDocument();
20
+ expect(react_2.screen.getByTestId('SvgNoData')).toBeInTheDocument();
21
+ expect(react_2.screen.queryByTestId('empty-state-secondary-text')).not.toBeInTheDocument();
22
+ });
23
+ it('should render secondary text', function () {
24
+ (0, react_2.render)(react_1.default.createElement(SidePanelEmptyState_1.SidePanelEmptyState, { text: "test", secondaryText: "secondaryTest" }));
25
+ expect(react_2.screen.getByText('test')).toBeInTheDocument();
26
+ expect(react_2.screen.getByText('secondaryTest')).toBeInTheDocument();
27
+ expect(react_2.screen.getByTestId('SvgAttributesList')).toBeInTheDocument();
28
+ });
29
+ });
@@ -62,7 +62,7 @@ var SimpleAttribute = function (_a) {
62
62
  _d[styles.ovFalse] = !(0, mdm_sdk_1.isOv)(attributeValue),
63
63
  _d)), "data-reltio-id": "reltio-attribute-value" },
64
64
  dataTypeValue,
65
- unmaskingControl)))) : (react_1.default.createElement("div", { className: (0, classnames_1.default)(className, styles.root, classnames_2.COMMENTS_CONTAINER_VISIBILITY_AREA, (_e = {},
65
+ unmaskingControl)))) : (react_1.default.createElement("div", { "data-reltio-id": "comments-container-visibility-area", className: (0, classnames_1.default)(className, styles.root, classnames_2.COMMENTS_CONTAINER_VISIBILITY_AREA, (_e = {},
66
66
  _e[highlightedClassName] = highlightedValuesUris.includes(attributeValue.uri),
67
67
  _e)) },
68
68
  react_1.default.createElement(PivotingTooltip_1.PivotingTooltip, { value: attributeValue, attributeType: attributeType, key: attributeValue.uri },