@streamoid/ui 0.6.22 → 0.6.23
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/dist/index.js +14 -4
- package/dist/index.mjs +14 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5551,10 +5551,18 @@ function useStreamoidSidebarPopoverPosition(sidebarRef, {
|
|
|
5551
5551
|
(0, import_react14.useLayoutEffect)(() => {
|
|
5552
5552
|
const sidebar = sidebarRef.current;
|
|
5553
5553
|
if (!sidebar || typeof window === "undefined") return;
|
|
5554
|
-
const
|
|
5554
|
+
const findCard = () => (sidebar.matches("[data-streamoid-sidebar-card]") ? sidebar : sidebar.querySelector(
|
|
5555
5555
|
"[data-streamoid-sidebar-card]"
|
|
5556
5556
|
)) ?? sidebar;
|
|
5557
|
+
let observedCard = null;
|
|
5558
|
+
let resizeObserver = null;
|
|
5557
5559
|
const measure = () => {
|
|
5560
|
+
const card = findCard();
|
|
5561
|
+
if (resizeObserver && observedCard !== card) {
|
|
5562
|
+
if (observedCard) resizeObserver.unobserve(observedCard);
|
|
5563
|
+
resizeObserver.observe(card);
|
|
5564
|
+
observedCard = card;
|
|
5565
|
+
}
|
|
5558
5566
|
const bounds = card.getBoundingClientRect();
|
|
5559
5567
|
const availableWidth = Math.max(0, window.innerWidth - VIEWPORT_INSET * 2);
|
|
5560
5568
|
const panelWidth = Math.min(width, availableWidth);
|
|
@@ -5583,13 +5591,15 @@ function useStreamoidSidebarPopoverPosition(sidebarRef, {
|
|
|
5583
5591
|
...vertical
|
|
5584
5592
|
});
|
|
5585
5593
|
};
|
|
5594
|
+
resizeObserver = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(measure);
|
|
5586
5595
|
measure();
|
|
5587
5596
|
window.addEventListener("resize", measure);
|
|
5588
|
-
const
|
|
5589
|
-
|
|
5597
|
+
const mutationObserver = typeof MutationObserver === "undefined" ? null : new MutationObserver(measure);
|
|
5598
|
+
mutationObserver?.observe(sidebar, { childList: true, subtree: true });
|
|
5590
5599
|
return () => {
|
|
5591
5600
|
window.removeEventListener("resize", measure);
|
|
5592
|
-
|
|
5601
|
+
resizeObserver?.disconnect();
|
|
5602
|
+
mutationObserver?.disconnect();
|
|
5593
5603
|
};
|
|
5594
5604
|
}, [gap, inset, placement, sidebarRef, width]);
|
|
5595
5605
|
return position;
|
package/dist/index.mjs
CHANGED
|
@@ -5395,10 +5395,18 @@ function useStreamoidSidebarPopoverPosition(sidebarRef, {
|
|
|
5395
5395
|
useLayoutEffect(() => {
|
|
5396
5396
|
const sidebar = sidebarRef.current;
|
|
5397
5397
|
if (!sidebar || typeof window === "undefined") return;
|
|
5398
|
-
const
|
|
5398
|
+
const findCard = () => (sidebar.matches("[data-streamoid-sidebar-card]") ? sidebar : sidebar.querySelector(
|
|
5399
5399
|
"[data-streamoid-sidebar-card]"
|
|
5400
5400
|
)) ?? sidebar;
|
|
5401
|
+
let observedCard = null;
|
|
5402
|
+
let resizeObserver = null;
|
|
5401
5403
|
const measure = () => {
|
|
5404
|
+
const card = findCard();
|
|
5405
|
+
if (resizeObserver && observedCard !== card) {
|
|
5406
|
+
if (observedCard) resizeObserver.unobserve(observedCard);
|
|
5407
|
+
resizeObserver.observe(card);
|
|
5408
|
+
observedCard = card;
|
|
5409
|
+
}
|
|
5402
5410
|
const bounds = card.getBoundingClientRect();
|
|
5403
5411
|
const availableWidth = Math.max(0, window.innerWidth - VIEWPORT_INSET * 2);
|
|
5404
5412
|
const panelWidth = Math.min(width, availableWidth);
|
|
@@ -5427,13 +5435,15 @@ function useStreamoidSidebarPopoverPosition(sidebarRef, {
|
|
|
5427
5435
|
...vertical
|
|
5428
5436
|
});
|
|
5429
5437
|
};
|
|
5438
|
+
resizeObserver = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(measure);
|
|
5430
5439
|
measure();
|
|
5431
5440
|
window.addEventListener("resize", measure);
|
|
5432
|
-
const
|
|
5433
|
-
|
|
5441
|
+
const mutationObserver = typeof MutationObserver === "undefined" ? null : new MutationObserver(measure);
|
|
5442
|
+
mutationObserver?.observe(sidebar, { childList: true, subtree: true });
|
|
5434
5443
|
return () => {
|
|
5435
5444
|
window.removeEventListener("resize", measure);
|
|
5436
|
-
|
|
5445
|
+
resizeObserver?.disconnect();
|
|
5446
|
+
mutationObserver?.disconnect();
|
|
5437
5447
|
};
|
|
5438
5448
|
}, [gap, inset, placement, sidebarRef, width]);
|
|
5439
5449
|
return position;
|