@sankhyalabs/core 7.1.0-dev.6 → 7.1.0-dev.7
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/.docs/classes/OverflowWatcher.md +71 -17
- package/.docs/interfaces/OverFlowWatcherParams.md +6 -6
- package/dist/utils/OverflowWatcher/index.d.ts +3 -0
- package/dist/utils/OverflowWatcher/index.js +51 -2
- package/dist/utils/OverflowWatcher/index.js.map +1 -1
- package/package.json +1 -1
- package/reports/test-report.xml +342 -342
- package/src/utils/OverflowWatcher/index.ts +249 -190
|
@@ -170,7 +170,25 @@ src/utils/OverflowWatcher/index.ts:52
|
|
|
170
170
|
|
|
171
171
|
#### Source
|
|
172
172
|
|
|
173
|
-
src/utils/OverflowWatcher/index.ts:
|
|
173
|
+
src/utils/OverflowWatcher/index.ts:221
|
|
174
|
+
|
|
175
|
+
***
|
|
176
|
+
|
|
177
|
+
### calcContainerSize()
|
|
178
|
+
|
|
179
|
+
> `private` **calcContainerSize**(`container`): `number`
|
|
180
|
+
|
|
181
|
+
#### Parameters
|
|
182
|
+
|
|
183
|
+
• **container**: `Element`
|
|
184
|
+
|
|
185
|
+
#### Returns
|
|
186
|
+
|
|
187
|
+
`number`
|
|
188
|
+
|
|
189
|
+
#### Source
|
|
190
|
+
|
|
191
|
+
src/utils/OverflowWatcher/index.ts:257
|
|
174
192
|
|
|
175
193
|
***
|
|
176
194
|
|
|
@@ -188,7 +206,7 @@ src/utils/OverflowWatcher/index.ts:206
|
|
|
188
206
|
|
|
189
207
|
#### Source
|
|
190
208
|
|
|
191
|
-
src/utils/OverflowWatcher/index.ts:
|
|
209
|
+
src/utils/OverflowWatcher/index.ts:272
|
|
192
210
|
|
|
193
211
|
***
|
|
194
212
|
|
|
@@ -206,7 +224,7 @@ src/utils/OverflowWatcher/index.ts:213
|
|
|
206
224
|
|
|
207
225
|
#### Source
|
|
208
226
|
|
|
209
|
-
src/utils/OverflowWatcher/index.ts:
|
|
227
|
+
src/utils/OverflowWatcher/index.ts:193
|
|
210
228
|
|
|
211
229
|
***
|
|
212
230
|
|
|
@@ -224,7 +242,7 @@ src/utils/OverflowWatcher/index.ts:178
|
|
|
224
242
|
|
|
225
243
|
#### Source
|
|
226
244
|
|
|
227
|
-
src/utils/OverflowWatcher/index.ts:
|
|
245
|
+
src/utils/OverflowWatcher/index.ts:203
|
|
228
246
|
|
|
229
247
|
***
|
|
230
248
|
|
|
@@ -242,7 +260,7 @@ src/utils/OverflowWatcher/index.ts:188
|
|
|
242
260
|
|
|
243
261
|
#### Source
|
|
244
262
|
|
|
245
|
-
src/utils/OverflowWatcher/index.ts:
|
|
263
|
+
src/utils/OverflowWatcher/index.ts:111
|
|
246
264
|
|
|
247
265
|
***
|
|
248
266
|
|
|
@@ -260,7 +278,7 @@ src/utils/OverflowWatcher/index.ts:96
|
|
|
260
278
|
|
|
261
279
|
#### Source
|
|
262
280
|
|
|
263
|
-
src/utils/OverflowWatcher/index.ts:
|
|
281
|
+
src/utils/OverflowWatcher/index.ts:173
|
|
264
282
|
|
|
265
283
|
***
|
|
266
284
|
|
|
@@ -274,7 +292,7 @@ src/utils/OverflowWatcher/index.ts:158
|
|
|
274
292
|
|
|
275
293
|
#### Source
|
|
276
294
|
|
|
277
|
-
src/utils/OverflowWatcher/index.ts:
|
|
295
|
+
src/utils/OverflowWatcher/index.ts:141
|
|
278
296
|
|
|
279
297
|
***
|
|
280
298
|
|
|
@@ -310,7 +328,7 @@ src/utils/OverflowWatcher/index.ts:58
|
|
|
310
328
|
|
|
311
329
|
#### Source
|
|
312
330
|
|
|
313
|
-
src/utils/OverflowWatcher/index.ts:
|
|
331
|
+
src/utils/OverflowWatcher/index.ts:182
|
|
314
332
|
|
|
315
333
|
***
|
|
316
334
|
|
|
@@ -342,7 +360,7 @@ src/utils/OverflowWatcher/index.ts:62
|
|
|
342
360
|
|
|
343
361
|
#### Source
|
|
344
362
|
|
|
345
|
-
src/utils/OverflowWatcher/index.ts:
|
|
363
|
+
src/utils/OverflowWatcher/index.ts:178
|
|
346
364
|
|
|
347
365
|
***
|
|
348
366
|
|
|
@@ -360,7 +378,43 @@ src/utils/OverflowWatcher/index.ts:163
|
|
|
360
378
|
|
|
361
379
|
#### Source
|
|
362
380
|
|
|
363
|
-
src/utils/OverflowWatcher/index.ts:
|
|
381
|
+
src/utils/OverflowWatcher/index.ts:213
|
|
382
|
+
|
|
383
|
+
***
|
|
384
|
+
|
|
385
|
+
### getProcessableElements()
|
|
386
|
+
|
|
387
|
+
> `private` **getProcessableElements**(`container`): `Element`[]
|
|
388
|
+
|
|
389
|
+
#### Parameters
|
|
390
|
+
|
|
391
|
+
• **container**: `HTMLElement`
|
|
392
|
+
|
|
393
|
+
#### Returns
|
|
394
|
+
|
|
395
|
+
`Element`[]
|
|
396
|
+
|
|
397
|
+
#### Source
|
|
398
|
+
|
|
399
|
+
src/utils/OverflowWatcher/index.ts:88
|
|
400
|
+
|
|
401
|
+
***
|
|
402
|
+
|
|
403
|
+
### groupElementsByContainer()
|
|
404
|
+
|
|
405
|
+
> `private` **groupElementsByContainer**(`elements`): `Map`\<`null` \| `Element`, `Element`[]\>
|
|
406
|
+
|
|
407
|
+
#### Parameters
|
|
408
|
+
|
|
409
|
+
• **elements**: `Element`[]
|
|
410
|
+
|
|
411
|
+
#### Returns
|
|
412
|
+
|
|
413
|
+
`Map`\<`null` \| `Element`, `Element`[]\>
|
|
414
|
+
|
|
415
|
+
#### Source
|
|
416
|
+
|
|
417
|
+
src/utils/OverflowWatcher/index.ts:243
|
|
364
418
|
|
|
365
419
|
***
|
|
366
420
|
|
|
@@ -396,7 +450,7 @@ src/utils/OverflowWatcher/index.ts:68
|
|
|
396
450
|
|
|
397
451
|
#### Source
|
|
398
452
|
|
|
399
|
-
src/utils/OverflowWatcher/index.ts:
|
|
453
|
+
src/utils/OverflowWatcher/index.ts:115
|
|
400
454
|
|
|
401
455
|
***
|
|
402
456
|
|
|
@@ -416,7 +470,7 @@ src/utils/OverflowWatcher/index.ts:100
|
|
|
416
470
|
|
|
417
471
|
#### Source
|
|
418
472
|
|
|
419
|
-
src/utils/OverflowWatcher/index.ts:
|
|
473
|
+
src/utils/OverflowWatcher/index.ts:169
|
|
420
474
|
|
|
421
475
|
***
|
|
422
476
|
|
|
@@ -434,7 +488,7 @@ src/utils/OverflowWatcher/index.ts:154
|
|
|
434
488
|
|
|
435
489
|
#### Source
|
|
436
490
|
|
|
437
|
-
src/utils/OverflowWatcher/index.ts:
|
|
491
|
+
src/utils/OverflowWatcher/index.ts:286
|
|
438
492
|
|
|
439
493
|
***
|
|
440
494
|
|
|
@@ -454,7 +508,7 @@ src/utils/OverflowWatcher/index.ts:227
|
|
|
454
508
|
|
|
455
509
|
#### Source
|
|
456
510
|
|
|
457
|
-
src/utils/OverflowWatcher/index.ts:
|
|
511
|
+
src/utils/OverflowWatcher/index.ts:127
|
|
458
512
|
|
|
459
513
|
***
|
|
460
514
|
|
|
@@ -474,7 +528,7 @@ src/utils/OverflowWatcher/index.ts:112
|
|
|
474
528
|
|
|
475
529
|
#### Source
|
|
476
530
|
|
|
477
|
-
src/utils/OverflowWatcher/index.ts:
|
|
531
|
+
src/utils/OverflowWatcher/index.ts:146
|
|
478
532
|
|
|
479
533
|
***
|
|
480
534
|
|
|
@@ -492,7 +546,7 @@ src/utils/OverflowWatcher/index.ts:131
|
|
|
492
546
|
|
|
493
547
|
#### Source
|
|
494
548
|
|
|
495
|
-
src/utils/OverflowWatcher/index.ts:
|
|
549
|
+
src/utils/OverflowWatcher/index.ts:208
|
|
496
550
|
|
|
497
551
|
***
|
|
498
552
|
|
|
@@ -510,7 +564,7 @@ src/utils/OverflowWatcher/index.ts:193
|
|
|
510
564
|
|
|
511
565
|
#### Source
|
|
512
566
|
|
|
513
|
-
src/utils/OverflowWatcher/index.ts:
|
|
567
|
+
src/utils/OverflowWatcher/index.ts:103
|
|
514
568
|
|
|
515
569
|
***
|
|
516
570
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
#### Source
|
|
16
16
|
|
|
17
|
-
src/utils/OverflowWatcher/index.ts:
|
|
17
|
+
src/utils/OverflowWatcher/index.ts:293
|
|
18
18
|
|
|
19
19
|
***
|
|
20
20
|
|
|
@@ -24,7 +24,7 @@ src/utils/OverflowWatcher/index.ts:234
|
|
|
24
24
|
|
|
25
25
|
#### Source
|
|
26
26
|
|
|
27
|
-
src/utils/OverflowWatcher/index.ts:
|
|
27
|
+
src/utils/OverflowWatcher/index.ts:296
|
|
28
28
|
|
|
29
29
|
***
|
|
30
30
|
|
|
@@ -34,7 +34,7 @@ src/utils/OverflowWatcher/index.ts:237
|
|
|
34
34
|
|
|
35
35
|
#### Source
|
|
36
36
|
|
|
37
|
-
src/utils/OverflowWatcher/index.ts:
|
|
37
|
+
src/utils/OverflowWatcher/index.ts:295
|
|
38
38
|
|
|
39
39
|
***
|
|
40
40
|
|
|
@@ -44,7 +44,7 @@ src/utils/OverflowWatcher/index.ts:236
|
|
|
44
44
|
|
|
45
45
|
#### Source
|
|
46
46
|
|
|
47
|
-
src/utils/OverflowWatcher/index.ts:
|
|
47
|
+
src/utils/OverflowWatcher/index.ts:292
|
|
48
48
|
|
|
49
49
|
***
|
|
50
50
|
|
|
@@ -54,7 +54,7 @@ src/utils/OverflowWatcher/index.ts:233
|
|
|
54
54
|
|
|
55
55
|
#### Source
|
|
56
56
|
|
|
57
|
-
src/utils/OverflowWatcher/index.ts:
|
|
57
|
+
src/utils/OverflowWatcher/index.ts:297
|
|
58
58
|
|
|
59
59
|
***
|
|
60
60
|
|
|
@@ -64,4 +64,4 @@ src/utils/OverflowWatcher/index.ts:238
|
|
|
64
64
|
|
|
65
65
|
#### Source
|
|
66
66
|
|
|
67
|
-
src/utils/OverflowWatcher/index.ts:
|
|
67
|
+
src/utils/OverflowWatcher/index.ts:294
|
|
@@ -31,6 +31,7 @@ export default class OverflowWatcher {
|
|
|
31
31
|
forceUpdate(): void;
|
|
32
32
|
private handleResize;
|
|
33
33
|
private updateOverFlowedItems;
|
|
34
|
+
private getProcessableElements;
|
|
34
35
|
private registerNotOverflowProps;
|
|
35
36
|
private canNotRegisterNotOverFlow;
|
|
36
37
|
private hasChangedSize;
|
|
@@ -46,6 +47,8 @@ export default class OverflowWatcher {
|
|
|
46
47
|
private registerElementSize;
|
|
47
48
|
private getElementSizeProps;
|
|
48
49
|
private calcChildrenSize;
|
|
50
|
+
private groupElementsByContainer;
|
|
51
|
+
private calcContainerSize;
|
|
49
52
|
private calcElementSize;
|
|
50
53
|
private isOverFlowed;
|
|
51
54
|
}
|
|
@@ -56,12 +56,25 @@ export default class OverflowWatcher {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
updateOverFlowedItems(container, containerSize) {
|
|
59
|
-
const children =
|
|
59
|
+
const children = this.getProcessableElements(container);
|
|
60
60
|
this.registerNotOverflowProps(children);
|
|
61
61
|
this.proccessElements(containerSize, children);
|
|
62
62
|
this._lastContainerSize = containerSize;
|
|
63
63
|
this._lastContainerInstance = container;
|
|
64
64
|
}
|
|
65
|
+
getProcessableElements(container) {
|
|
66
|
+
const directChildren = Array.from(container.children);
|
|
67
|
+
const processableElements = [];
|
|
68
|
+
for (const child of directChildren) {
|
|
69
|
+
if (child.classList.contains('taskbar-group')) {
|
|
70
|
+
processableElements.push(...Array.from(child.children));
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
processableElements.push(child);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return processableElements;
|
|
77
|
+
}
|
|
65
78
|
registerNotOverflowProps(children) {
|
|
66
79
|
children.forEach(childElement => {
|
|
67
80
|
const id = childElement.id || this.getDataElementId(childElement);
|
|
@@ -165,9 +178,45 @@ export default class OverflowWatcher {
|
|
|
165
178
|
calcChildrenSize(children) {
|
|
166
179
|
let sumChildren = 0;
|
|
167
180
|
sumChildren += this._deltaSize;
|
|
168
|
-
|
|
181
|
+
// Agrupa os elementos por container pai
|
|
182
|
+
const elementsByContainer = this.groupElementsByContainer(children);
|
|
183
|
+
// Calcula o tamanho considerando os containers
|
|
184
|
+
for (const [container, elements] of elementsByContainer) {
|
|
185
|
+
if (container && container.classList.contains('taskbar-group')) {
|
|
186
|
+
// Se é um grupo da taskbar, adiciona o tamanho do container mais os elementos
|
|
187
|
+
sumChildren += this.calcContainerSize(container);
|
|
188
|
+
elements.forEach(el => sumChildren += this.calcElementSize(el));
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
// Se não é um grupo, adiciona apenas o tamanho dos elementos
|
|
192
|
+
elements.forEach(el => sumChildren += this.calcElementSize(el));
|
|
193
|
+
}
|
|
194
|
+
}
|
|
169
195
|
return sumChildren;
|
|
170
196
|
}
|
|
197
|
+
groupElementsByContainer(elements) {
|
|
198
|
+
const grouped = new Map();
|
|
199
|
+
for (const element of elements) {
|
|
200
|
+
const container = element.parentElement;
|
|
201
|
+
if (!grouped.has(container)) {
|
|
202
|
+
grouped.set(container, []);
|
|
203
|
+
}
|
|
204
|
+
grouped.get(container).push(element);
|
|
205
|
+
}
|
|
206
|
+
return grouped;
|
|
207
|
+
}
|
|
208
|
+
calcContainerSize(container) {
|
|
209
|
+
const rect = container.getBoundingClientRect();
|
|
210
|
+
const elementSize = rect[this._propSize];
|
|
211
|
+
const marginSize = calcMarginSize(container, this._scrollDirection);
|
|
212
|
+
// Subtrai o tamanho dos filhos para não contar em duplicidade
|
|
213
|
+
let childrenSize = 0;
|
|
214
|
+
Array.from(container.children).forEach(child => {
|
|
215
|
+
const childRect = child.getBoundingClientRect();
|
|
216
|
+
childrenSize += childRect[this._propSize];
|
|
217
|
+
});
|
|
218
|
+
return Math.max(0, elementSize - childrenSize) + marginSize;
|
|
219
|
+
}
|
|
171
220
|
calcElementSize(el) {
|
|
172
221
|
var _a, _b;
|
|
173
222
|
let size = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/OverflowWatcher/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,eAAe;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/OverflowWatcher/index.ts"],"names":[],"mappings":"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"}
|