@reltio/components 1.4.1909 → 1.4.1910
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.
- package/cjs/ProfileResizablePanes/ProfileResizablePanes.spec.js +113 -68
- package/cjs/ResizablePanes/ResizablePanes.d.ts +3 -2
- package/cjs/ResizablePanes/ResizablePanes.js +83 -16
- package/cjs/ResizablePanes/ResizablePanes.test.js +289 -0
- package/cjs/ResizablePanes/styles.d.ts +1 -1
- package/cjs/ResizablePanes/styles.js +47 -38
- package/cjs/SimpleMatchRulesBlock/SimpleMatchRulesBlock.js +1 -1
- package/cjs/SimpleMatchRulesBlock/SimpleMatchRulesBlock.test.js +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +2 -1
- package/cjs/test-utils/index.d.ts +1 -0
- package/cjs/test-utils/index.js +15 -1
- package/esm/ProfileResizablePanes/ProfileResizablePanes.spec.js +113 -68
- package/esm/ResizablePanes/ResizablePanes.d.ts +3 -2
- package/esm/ResizablePanes/ResizablePanes.js +84 -17
- package/esm/ResizablePanes/ResizablePanes.test.js +284 -0
- package/esm/ResizablePanes/styles.d.ts +1 -1
- package/esm/ResizablePanes/styles.js +47 -38
- package/esm/SimpleMatchRulesBlock/SimpleMatchRulesBlock.js +1 -1
- package/esm/SimpleMatchRulesBlock/SimpleMatchRulesBlock.test.js +1 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.js +1 -1
- package/esm/test-utils/index.d.ts +1 -0
- package/esm/test-utils/index.js +13 -0
- package/package.json +3 -3
- package/cjs/ResizablePanes/ResizablePanes.spec.js +0 -192
- package/esm/ResizablePanes/ResizablePanes.spec.js +0 -164
- /package/cjs/ResizablePanes/{ResizablePanes.spec.d.ts → ResizablePanes.test.d.ts} +0 -0
- /package/esm/ResizablePanes/{ResizablePanes.spec.d.ts → ResizablePanes.test.d.ts} +0 -0
|
@@ -0,0 +1,289 @@
|
|
|
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;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "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 ResizablePanes_1 = require("./ResizablePanes");
|
|
57
|
+
var test_utils_1 = require("../test-utils");
|
|
58
|
+
var defaultProps = {
|
|
59
|
+
allowResize: true,
|
|
60
|
+
children: []
|
|
61
|
+
};
|
|
62
|
+
var setUp = function (props) {
|
|
63
|
+
if (props === void 0) { props = defaultProps; }
|
|
64
|
+
var user = user_event_1.default.setup();
|
|
65
|
+
return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(ResizablePanes_1.ResizablePanes, __assign({}, props),
|
|
66
|
+
react_1.default.createElement("div", null, "Panel 1 content"),
|
|
67
|
+
react_1.default.createElement("div", null, "Panel 2 content")))), { user: user });
|
|
68
|
+
};
|
|
69
|
+
var getPanel1 = function (container) { return container.querySelectorAll('[data-panel-id]')[0]; };
|
|
70
|
+
var getPanel2 = function (container) { return container.querySelectorAll('[data-panel-id]')[1]; };
|
|
71
|
+
var getResizeHandle = function (container) { return container.querySelector('[data-resize-handle]'); };
|
|
72
|
+
var isResizingDisabled = function (container) {
|
|
73
|
+
return getResizeHandle(container).getAttribute('data-panel-resize-handle-enabled') === 'false';
|
|
74
|
+
};
|
|
75
|
+
var checkPanelSize = function (panel, size) { return expect(panel.getAttribute('data-panel-size')).toBe(size); };
|
|
76
|
+
var moveResizeHandle = function (container, user, from, to) { return __awaiter(void 0, void 0, void 0, function () {
|
|
77
|
+
var resizeHandle;
|
|
78
|
+
return __generator(this, function (_a) {
|
|
79
|
+
switch (_a.label) {
|
|
80
|
+
case 0:
|
|
81
|
+
resizeHandle = getResizeHandle(container);
|
|
82
|
+
return [4 /*yield*/, user.pointer([
|
|
83
|
+
{
|
|
84
|
+
keys: '[MouseLeft>]',
|
|
85
|
+
target: resizeHandle,
|
|
86
|
+
coords: {
|
|
87
|
+
x: from.x,
|
|
88
|
+
y: from.y
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
target: resizeHandle,
|
|
93
|
+
coords: {
|
|
94
|
+
x: to.x,
|
|
95
|
+
y: to.y
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
keys: '[/MouseLeft]',
|
|
100
|
+
target: resizeHandle,
|
|
101
|
+
coords: {
|
|
102
|
+
x: to.x,
|
|
103
|
+
y: to.y
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
])];
|
|
107
|
+
case 1:
|
|
108
|
+
_a.sent();
|
|
109
|
+
return [2 /*return*/];
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
}); };
|
|
113
|
+
describe('ResizablePanes tests', function () {
|
|
114
|
+
beforeAll(function () {
|
|
115
|
+
jest.spyOn(HTMLElement.prototype, 'clientWidth', 'get').mockReturnValue(1000);
|
|
116
|
+
jest.spyOn(HTMLElement.prototype, 'getBoundingClientRect').mockReturnValue({
|
|
117
|
+
width: 1000,
|
|
118
|
+
height: 1000,
|
|
119
|
+
top: 0,
|
|
120
|
+
left: 0,
|
|
121
|
+
right: 1000,
|
|
122
|
+
bottom: 1000,
|
|
123
|
+
x: 0,
|
|
124
|
+
y: 0,
|
|
125
|
+
toJSON: function () { return ''; }
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
it('should render main parts', function () {
|
|
129
|
+
var container = setUp().container;
|
|
130
|
+
expect(getPanel1(container)).toBeInTheDocument();
|
|
131
|
+
expect(react_2.screen.getByText('Panel 1 content')).toBeInTheDocument();
|
|
132
|
+
expect(getPanel2(container)).toBeInTheDocument();
|
|
133
|
+
expect(react_2.screen.getByText('Panel 2 content')).toBeInTheDocument();
|
|
134
|
+
expect(getResizeHandle(container)).toBeInTheDocument();
|
|
135
|
+
});
|
|
136
|
+
it('should allow to resize the panels', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
137
|
+
var _a, container, user;
|
|
138
|
+
return __generator(this, function (_b) {
|
|
139
|
+
switch (_b.label) {
|
|
140
|
+
case 0:
|
|
141
|
+
_a = setUp(__assign(__assign({}, defaultProps), { size: '320px', minSize: '320px', maxSize: '640px', onChange: function () { }, debounceInterval: 0 })), container = _a.container, user = _a.user;
|
|
142
|
+
expect(isResizingDisabled(container)).toBe(false);
|
|
143
|
+
checkPanelSize(getPanel1(container), '32.0');
|
|
144
|
+
checkPanelSize(getPanel2(container), '68.0');
|
|
145
|
+
// move mouse to an x-coordinate between minSize and maxSize
|
|
146
|
+
return [4 /*yield*/, moveResizeHandle(container, user, { x: 320, y: 0 }, { x: 500, y: 20 })];
|
|
147
|
+
case 1:
|
|
148
|
+
// move mouse to an x-coordinate between minSize and maxSize
|
|
149
|
+
_b.sent();
|
|
150
|
+
checkPanelSize(getPanel1(container), '50.0');
|
|
151
|
+
checkPanelSize(getPanel2(container), '50.0');
|
|
152
|
+
// move mouse to a larger x-coordinate than max size
|
|
153
|
+
return [4 /*yield*/, moveResizeHandle(container, user, { x: 500, y: 0 }, { x: 650, y: 20 })];
|
|
154
|
+
case 2:
|
|
155
|
+
// move mouse to a larger x-coordinate than max size
|
|
156
|
+
_b.sent();
|
|
157
|
+
checkPanelSize(getPanel1(container), '64.0');
|
|
158
|
+
checkPanelSize(getPanel2(container), '36.0');
|
|
159
|
+
// move mouse to a smaller x-coordinate than min size
|
|
160
|
+
return [4 /*yield*/, moveResizeHandle(container, user, { x: 640, y: 0 }, { x: 310, y: 20 })];
|
|
161
|
+
case 3:
|
|
162
|
+
// move mouse to a smaller x-coordinate than min size
|
|
163
|
+
_b.sent();
|
|
164
|
+
checkPanelSize(getPanel1(container), '32.0');
|
|
165
|
+
checkPanelSize(getPanel2(container), '68.0');
|
|
166
|
+
return [2 /*return*/];
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
}); });
|
|
170
|
+
it('should call onChange prop with debounce on panels resizing', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
171
|
+
var debounceInterval, props, _a, user, container;
|
|
172
|
+
return __generator(this, function (_b) {
|
|
173
|
+
switch (_b.label) {
|
|
174
|
+
case 0:
|
|
175
|
+
debounceInterval = 200;
|
|
176
|
+
props = __assign(__assign({}, defaultProps), { size: 320, debounceInterval: debounceInterval, onChange: jest.fn() });
|
|
177
|
+
_a = setUp(props), user = _a.user, container = _a.container;
|
|
178
|
+
return [4 /*yield*/, moveResizeHandle(container, user, { x: 320, y: 0 }, { x: 510, y: 20 })];
|
|
179
|
+
case 1:
|
|
180
|
+
_b.sent();
|
|
181
|
+
expect(props.onChange).not.toHaveBeenCalled();
|
|
182
|
+
return [4 /*yield*/, (0, test_utils_1.delayPromise)(debounceInterval + 1)];
|
|
183
|
+
case 2:
|
|
184
|
+
_b.sent();
|
|
185
|
+
expect(props.onChange).toHaveBeenCalledWith({
|
|
186
|
+
isMaxSize: false,
|
|
187
|
+
isMinSize: false,
|
|
188
|
+
percentageSize: '51%',
|
|
189
|
+
size: 510
|
|
190
|
+
});
|
|
191
|
+
return [2 /*return*/];
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
}); });
|
|
195
|
+
it('should set correct isMaxSize in props.onChange argument for positive props.maxSize', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
196
|
+
var debounceInterval, props, _a, user, container;
|
|
197
|
+
return __generator(this, function (_b) {
|
|
198
|
+
switch (_b.label) {
|
|
199
|
+
case 0:
|
|
200
|
+
debounceInterval = 0;
|
|
201
|
+
props = __assign(__assign({}, defaultProps), { size: 320, maxSize: 500, debounceInterval: debounceInterval, onChange: jest.fn() });
|
|
202
|
+
_a = setUp(props), user = _a.user, container = _a.container;
|
|
203
|
+
return [4 /*yield*/, moveResizeHandle(container, user, { x: 320, y: 0 }, { x: 510, y: 20 })];
|
|
204
|
+
case 1:
|
|
205
|
+
_b.sent();
|
|
206
|
+
expect(props.onChange).toHaveBeenCalledWith({
|
|
207
|
+
isMaxSize: true,
|
|
208
|
+
isMinSize: false,
|
|
209
|
+
percentageSize: '50%',
|
|
210
|
+
size: 500
|
|
211
|
+
});
|
|
212
|
+
return [2 /*return*/];
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
}); });
|
|
216
|
+
it('should set correct isMaxSize in props.onChange argument for negative props.maxSize', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
217
|
+
var debounceInterval, props, _a, user, container;
|
|
218
|
+
return __generator(this, function (_b) {
|
|
219
|
+
switch (_b.label) {
|
|
220
|
+
case 0:
|
|
221
|
+
debounceInterval = 0;
|
|
222
|
+
props = __assign(__assign({}, defaultProps), { size: 320, maxSize: -200, debounceInterval: debounceInterval, onChange: jest.fn() });
|
|
223
|
+
_a = setUp(props), user = _a.user, container = _a.container;
|
|
224
|
+
return [4 /*yield*/, moveResizeHandle(container, user, { x: 320, y: 0 }, { x: 800, y: 20 })];
|
|
225
|
+
case 1:
|
|
226
|
+
_b.sent();
|
|
227
|
+
expect(props.onChange).toHaveBeenCalledWith({
|
|
228
|
+
isMaxSize: true,
|
|
229
|
+
isMinSize: false,
|
|
230
|
+
percentageSize: '80%',
|
|
231
|
+
size: 800
|
|
232
|
+
});
|
|
233
|
+
return [2 /*return*/];
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
}); });
|
|
237
|
+
it('should set correct isMaxSize in props.onChange argument if props.maxSize omitted', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
238
|
+
var debounceInterval, props, _a, user, container;
|
|
239
|
+
return __generator(this, function (_b) {
|
|
240
|
+
switch (_b.label) {
|
|
241
|
+
case 0:
|
|
242
|
+
debounceInterval = 0;
|
|
243
|
+
props = __assign(__assign({}, defaultProps), { size: 320, debounceInterval: debounceInterval, onChange: jest.fn() });
|
|
244
|
+
_a = setUp(props), user = _a.user, container = _a.container;
|
|
245
|
+
return [4 /*yield*/, moveResizeHandle(container, user, { x: 320, y: 0 }, { x: 1000, y: 20 })];
|
|
246
|
+
case 1:
|
|
247
|
+
_b.sent();
|
|
248
|
+
expect(props.onChange).toHaveBeenCalledWith({
|
|
249
|
+
isMaxSize: true,
|
|
250
|
+
isMinSize: false,
|
|
251
|
+
percentageSize: '100%',
|
|
252
|
+
size: 1000
|
|
253
|
+
});
|
|
254
|
+
return [2 /*return*/];
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
}); });
|
|
258
|
+
it('should set correct isMinSize in props.onChange argument for positive props.minSize', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
259
|
+
var debounceInterval, props, _a, user, container;
|
|
260
|
+
return __generator(this, function (_b) {
|
|
261
|
+
switch (_b.label) {
|
|
262
|
+
case 0:
|
|
263
|
+
debounceInterval = 0;
|
|
264
|
+
props = __assign(__assign({}, defaultProps), { size: 320, minSize: 200, debounceInterval: debounceInterval, onChange: jest.fn() });
|
|
265
|
+
_a = setUp(props), user = _a.user, container = _a.container;
|
|
266
|
+
return [4 /*yield*/, moveResizeHandle(container, user, { x: 320, y: 0 }, { x: 200, y: 20 })];
|
|
267
|
+
case 1:
|
|
268
|
+
_b.sent();
|
|
269
|
+
expect(props.onChange).toHaveBeenCalledWith({
|
|
270
|
+
isMaxSize: false,
|
|
271
|
+
isMinSize: true,
|
|
272
|
+
percentageSize: '20%',
|
|
273
|
+
size: 200
|
|
274
|
+
});
|
|
275
|
+
return [2 /*return*/];
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
}); });
|
|
279
|
+
it('should apply negative size correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
280
|
+
var props, container;
|
|
281
|
+
return __generator(this, function (_a) {
|
|
282
|
+
props = __assign(__assign({}, defaultProps), { size: -40 });
|
|
283
|
+
container = setUp(props).container;
|
|
284
|
+
checkPanelSize(getPanel1(container), '96.0');
|
|
285
|
+
checkPanelSize(getPanel2(container), '4.0');
|
|
286
|
+
return [2 /*return*/];
|
|
287
|
+
});
|
|
288
|
+
}); });
|
|
289
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"container">;
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"container" | "horizontal" | "vertical" | "resizer" | "disabled" | "panel">;
|
|
@@ -4,46 +4,55 @@ exports.useStyles = void 0;
|
|
|
4
4
|
var styles_1 = require("@mui/styles");
|
|
5
5
|
exports.useStyles = (0, styles_1.makeStyles)(function () { return ({
|
|
6
6
|
container: {
|
|
7
|
-
position: 'relative'
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
position: 'relative'
|
|
8
|
+
},
|
|
9
|
+
panel: {
|
|
10
|
+
position: 'relative'
|
|
11
|
+
},
|
|
12
|
+
horizontal: {},
|
|
13
|
+
vertical: {},
|
|
14
|
+
disabled: {},
|
|
15
|
+
resizer: {
|
|
16
|
+
zIndex: 1,
|
|
17
|
+
boxSizing: 'border-box',
|
|
18
|
+
backgroundClip: 'padding-box',
|
|
19
|
+
'&$disabled': {
|
|
20
|
+
cursor: 'initial',
|
|
21
|
+
height: 0,
|
|
22
|
+
margin: 0
|
|
23
|
+
},
|
|
24
|
+
'&$horizontal': {
|
|
25
|
+
height: '11px',
|
|
26
|
+
backgroundImage: 'linear-gradient(rgba(0,0,0,0.33), rgba(0,0,0,0.33))',
|
|
27
|
+
backgroundRepeat: 'no-repeat',
|
|
28
|
+
backgroundSize: '100% 1px',
|
|
29
|
+
backgroundPosition: 'top',
|
|
30
|
+
width: '100%',
|
|
31
|
+
marginBottom: '-10px',
|
|
32
|
+
'&$disabled': {
|
|
33
|
+
background: 'transparent'
|
|
16
34
|
},
|
|
17
|
-
'
|
|
18
|
-
|
|
19
|
-
backgroundImage: 'linear-gradient(rgba(0,0,0,0.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
35
|
+
'&:not($disabled):hover': {
|
|
36
|
+
cursor: 'ns-resize',
|
|
37
|
+
backgroundImage: 'linear-gradient(rgba(0, 114, 206, 0), rgba(0, 114, 206, 0.35), rgba(0, 114, 206, 1))',
|
|
38
|
+
backgroundSize: '100% 3px'
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
'&$vertical': {
|
|
42
|
+
width: '11px',
|
|
43
|
+
backgroundImage: 'linear-gradient(rgba(0,0,0,0.33), rgba(0,0,0,0.33))',
|
|
44
|
+
backgroundRepeat: 'no-repeat',
|
|
45
|
+
backgroundSize: '1px 100%',
|
|
46
|
+
backgroundPosition: 'left',
|
|
47
|
+
height: '100%',
|
|
48
|
+
marginRight: '-10px',
|
|
49
|
+
'&$disabled': {
|
|
50
|
+
background: 'transparent'
|
|
33
51
|
},
|
|
34
|
-
'
|
|
35
|
-
|
|
36
|
-
backgroundImage: 'linear-gradient(rgba(0,
|
|
37
|
-
|
|
38
|
-
backgroundSize: '1px 100%',
|
|
39
|
-
backgroundPosition: 'left',
|
|
40
|
-
height: '100%',
|
|
41
|
-
marginRight: '-10px',
|
|
42
|
-
'&:not(.disabled):hover': {
|
|
43
|
-
cursor: 'col-resize',
|
|
44
|
-
backgroundImage: 'linear-gradient(to left, rgba(0, 114, 206, 0.35), rgba(0, 114, 206, 1), rgba(0, 114, 206, 0.35))',
|
|
45
|
-
backgroundSize: '3px 100%'
|
|
46
|
-
}
|
|
52
|
+
'&:not($disabled):hover': {
|
|
53
|
+
cursor: 'ew-resize',
|
|
54
|
+
backgroundImage: 'linear-gradient(to left, rgba(0, 114, 206, 0.35), rgba(0, 114, 206, 1), rgba(0, 114, 206, 0.35))',
|
|
55
|
+
backgroundSize: '3px 100%'
|
|
47
56
|
}
|
|
48
57
|
}
|
|
49
58
|
}
|
|
@@ -44,7 +44,7 @@ var SimpleMatchRulesBlock = function (_a) {
|
|
|
44
44
|
return (react_1.default.createElement("div", { className: styles.container, "data-reltio-id": "simple-match-rules-block" },
|
|
45
45
|
react_1.default.createElement(exports.MatchRuleBadgeWithTooltip, { tooltipTitle: react_1.default.createElement(MatchRulesTooltip_1.MatchRulesTooltip, { matchRules: matchRules, isMlMatch: isMlMatch }), tooltipPlacement: "bottom-start", onExpand: handleOnExpand, expanded: expanded }, isMlMatch ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
46
46
|
react_1.default.createElement(AIPowered_1.default, { className: styles.icon }),
|
|
47
|
-
ui_i18n_1.default.text('AI-
|
|
47
|
+
ui_i18n_1.default.text('AI-powered'))) : (ui_i18n_1.default.text('Rules'))),
|
|
48
48
|
expanded ? (react_1.default.createElement(SimpleMatchRules_1.SimpleMatchRules, { className: styles.rulesContainer, matchRules: matchRules, isMlMatch: isMlMatch, matchRuleSummaries: matchRuleSummaries })) : null));
|
|
49
49
|
};
|
|
50
50
|
exports.SimpleMatchRulesBlock = SimpleMatchRulesBlock;
|
|
@@ -36,7 +36,7 @@ describe('SimpleMatchRulesBlock test', function () {
|
|
|
36
36
|
});
|
|
37
37
|
it('should render correct MatchRuleBadgeWithTooltip for Ml match', function () {
|
|
38
38
|
var component = (0, enzyme_1.shallow)(react_1.default.createElement(SimpleMatchRulesBlock_1.SimpleMatchRulesBlock, { isMlMatch: true, matchRules: matchRules }));
|
|
39
|
-
expect(getMatchRuleBadgeWithTooltip(component).text()).toBe('<AIPowered />AI-
|
|
39
|
+
expect(getMatchRuleBadgeWithTooltip(component).text()).toBe('<AIPowered />AI-powered');
|
|
40
40
|
});
|
|
41
41
|
it('should render correct MatchRuleBadgeWithTooltip for non Ml match', function () {
|
|
42
42
|
var component = (0, enzyme_1.shallow)(react_1.default.createElement(SimpleMatchRulesBlock_1.SimpleMatchRulesBlock, { matchRules: matchRules }));
|
package/cjs/index.d.ts
CHANGED
|
@@ -270,7 +270,7 @@ export * from './types';
|
|
|
270
270
|
export * from './constants';
|
|
271
271
|
export { TestPerspectivesSettingsProvider } from './test-utils/TestPerspectiveSettingsProvider';
|
|
272
272
|
export { TestStylesProvider } from './test-utils/TestStylesProvider';
|
|
273
|
-
export { awaitMockPromises, deepFreeze, delayPromise, getMuiIconByName, getMuiIconsByName, mockBasicTableSizing, mockElementSizes, rerenderWrapper, FakeMouseEvent } from './test-utils';
|
|
273
|
+
export { awaitMockPromises, deepFreeze, delayPromise, getMuiIconByName, getMuiIconsByName, mockBasicTableSizing, fixClicksOnResizablePanes, mockElementSizes, rerenderWrapper, FakeMouseEvent } from './test-utils';
|
|
274
274
|
export * from './features/activity-log';
|
|
275
275
|
export * from './features/crosswalks';
|
|
276
276
|
export * from './features/graph';
|
package/cjs/index.js
CHANGED
|
@@ -20,7 +20,7 @@ exports.PotentialMatchReviewCard = exports.PopupWithArrow = exports.Popper = exp
|
|
|
20
20
|
exports.usePerspectivesSettings = exports.PerspectivesSettingsContext = exports.PivotingAttributeContext = exports.UsersContext = exports.InitialCollaborationContextValue = exports.CollaborationContextProvider = exports.CollaborationContext = exports.BlockImageGalleryDialogContext = exports.PopupBoundariesContext = exports.HistoryDiffContext = exports.AsyncMountContext = exports.MdmModuleProvider = exports.withTableContext = exports.withFilterAtBottom = exports.withPercents = exports.withContext = exports.withDateRangeSelector = exports.withDragHandle = exports.withAsyncMount = exports.withTooltip = exports.RelationEditor = exports.ReltioMap = exports.Marginator = exports.LightArrowTooltip = exports.ScrollableTabs = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = exports.SelectionPopup = exports.WhiteSearchInput = exports.SearchInput = exports.ProfileResizablePanes = exports.ResizablePanes = exports.ReltioGridLayout = exports.reactSortableTreeHelpers = exports.ReactSortableTree = exports.MultiSelect = exports.QueryBuilderRowsGroup = exports.QueryBuilderRow = exports.ProfileCard = exports.ProfileBand = void 0;
|
|
21
21
|
exports.HiddenAttributesContext = exports.BasicTableContext = exports.BasicTableRowCollapseContext = exports.useUnmaskedAttributeValue = exports.useUnmaskAttributeValue = exports.useMaskAttributeValue = exports.MaskedAttributesProvider = exports.SegmentationContext = exports.useReloadData = exports.ReloadDataProvider = exports.useAttributeValueConfigPermissions = exports.ConfigPermissionsContextProvider = exports.ConfigPermissionsContext = exports.useActionsHook = exports.ActionsHookProvider = exports.PageRequestsAbortingContext = exports.DependentLookupAutopopulationContext = exports.FeaturesContext = exports.LabelsContext = exports.UrlGeneratorsContext = exports.isHighlightedAttributeType = exports.isHighlightedErrorType = exports.ScrollType = exports.ScrollToElementProvider = exports.ScrollToElementContext = exports.SearchValueContext = exports.InterceptHandlersContext = exports.HighlightedValuesContext = exports.SnackbarContext = exports.SearchFiltersContext = exports.useReloadFacet = exports.ReloadFacetProvider = exports.useReloadAllFacets = exports.SandboxAPIContext = exports.EntityContext = exports.RelatedObjectUrisContext = exports.WorkflowTasksContext = exports.useEntityLoadingIndication = exports.EntityLoadingIndicationProvider = exports.EntityMarkerContext = exports.useAttributeExpanded = exports.ExpandedAttributesProvider = exports.useHighlightedCrosswalks = exports.useCrosswalkHighlight = exports.useCrosswalkFocus = exports.useCrosswalkColor = exports.CrosswalksDisplayProvider = exports.EntitiesMapContext = exports.IdContext = exports.ProfilePerspectiveViewContext = void 0;
|
|
22
22
|
exports.TestPerspectivesSettingsProvider = exports.mergeClasses = exports.isControlOrCommandPressed = exports.getValue = exports.getChecked = exports.showErrorMessage = exports.showDefaultErrorMessage = exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsFilter = exports.useKeyboardNavigation = exports.useDynamicRowCellHeight = exports.useClickableStyle = exports.BasicTableCellRenderer = exports.useBasicTableCellRenderer = exports.useHiddenAttributes = exports.useSavedSearchesRequest = exports.useRequestDCRReview = exports.useAutoFocus = exports.useExpandInvalidRelations = 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.useMatchesColumnsData = exports.useScrollToAttributeError = void 0;
|
|
23
|
-
exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.mockBasicTableSizing = exports.getMuiIconsByName = exports.getMuiIconByName = exports.delayPromise = exports.deepFreeze = exports.awaitMockPromises = exports.TestStylesProvider = void 0;
|
|
23
|
+
exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.fixClicksOnResizablePanes = exports.mockBasicTableSizing = exports.getMuiIconsByName = exports.getMuiIconByName = exports.delayPromise = exports.deepFreeze = exports.awaitMockPromises = exports.TestStylesProvider = void 0;
|
|
24
24
|
// components
|
|
25
25
|
var ActionButton_1 = require("./ActionButton");
|
|
26
26
|
Object.defineProperty(exports, "ActionButton", { enumerable: true, get: function () { return ActionButton_1.ActionButton; } });
|
|
@@ -604,6 +604,7 @@ Object.defineProperty(exports, "delayPromise", { enumerable: true, get: function
|
|
|
604
604
|
Object.defineProperty(exports, "getMuiIconByName", { enumerable: true, get: function () { return test_utils_1.getMuiIconByName; } });
|
|
605
605
|
Object.defineProperty(exports, "getMuiIconsByName", { enumerable: true, get: function () { return test_utils_1.getMuiIconsByName; } });
|
|
606
606
|
Object.defineProperty(exports, "mockBasicTableSizing", { enumerable: true, get: function () { return test_utils_1.mockBasicTableSizing; } });
|
|
607
|
+
Object.defineProperty(exports, "fixClicksOnResizablePanes", { enumerable: true, get: function () { return test_utils_1.fixClicksOnResizablePanes; } });
|
|
607
608
|
Object.defineProperty(exports, "mockElementSizes", { enumerable: true, get: function () { return test_utils_1.mockElementSizes; } });
|
|
608
609
|
Object.defineProperty(exports, "rerenderWrapper", { enumerable: true, get: function () { return test_utils_1.rerenderWrapper; } });
|
|
609
610
|
Object.defineProperty(exports, "FakeMouseEvent", { enumerable: true, get: function () { return test_utils_1.FakeMouseEvent; } });
|
|
@@ -15,6 +15,7 @@ export declare const mockBasicTableSizing: ({ width, height }?: {
|
|
|
15
15
|
width?: number;
|
|
16
16
|
height?: number;
|
|
17
17
|
}) => () => void;
|
|
18
|
+
export declare const fixClicksOnResizablePanes: () => void;
|
|
18
19
|
export declare const getMuiIconByName: (name: string, el?: HTMLElement) => HTMLElement;
|
|
19
20
|
export declare const getMuiIconsByName: (name: string, el?: HTMLElement) => HTMLElement[];
|
|
20
21
|
interface MouseEventWithOffsets extends MouseEventInit {
|
package/cjs/test-utils/index.js
CHANGED
|
@@ -62,7 +62,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
62
62
|
return t;
|
|
63
63
|
};
|
|
64
64
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
|
-
exports.FakeMouseEvent = exports.getMuiIconsByName = exports.getMuiIconByName = exports.mockBasicTableSizing = exports.mockElementSizes = exports.rerenderWrapper = exports.deepFreeze = exports.awaitMockPromises = exports.delayPromise = void 0;
|
|
65
|
+
exports.FakeMouseEvent = exports.getMuiIconsByName = exports.getMuiIconByName = exports.fixClicksOnResizablePanes = exports.mockBasicTableSizing = exports.mockElementSizes = exports.rerenderWrapper = exports.deepFreeze = exports.awaitMockPromises = exports.delayPromise = void 0;
|
|
66
66
|
var react_1 = require("@testing-library/react");
|
|
67
67
|
var delayPromise = function (delay) {
|
|
68
68
|
if (delay === void 0) { delay = 0; }
|
|
@@ -137,6 +137,20 @@ var mockBasicTableSizing = function (_a) {
|
|
|
137
137
|
return unmock;
|
|
138
138
|
};
|
|
139
139
|
exports.mockBasicTableSizing = mockBasicTableSizing;
|
|
140
|
+
var originalPreventDefault = Event.prototype.preventDefault;
|
|
141
|
+
var fixClicksOnResizablePanes = function () {
|
|
142
|
+
// https://github.com/bvaughn/react-resizable-panels/issues/367
|
|
143
|
+
// https://github.com/testing-library/user-event/issues/1206
|
|
144
|
+
// Workaround until the user-event issue is resolved
|
|
145
|
+
jest.spyOn(Event.prototype, 'preventDefault').mockImplementation(function () {
|
|
146
|
+
var e = this;
|
|
147
|
+
if (e.currentTarget === document.body && e.eventPhase === Event.CAPTURING_PHASE) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
originalPreventDefault.call(e);
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
exports.fixClicksOnResizablePanes = fixClicksOnResizablePanes;
|
|
140
154
|
var getMuiIconByName = function (name, el) {
|
|
141
155
|
if (el === void 0) { el = document.documentElement; }
|
|
142
156
|
var dataTestId = name + 'Icon';
|