@flytedan/flytebot-design-system 0.43.0 → 0.44.0
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.cjs +45 -18
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +45 -18
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -715,6 +715,7 @@ import ReactDOM from "react-dom";
|
|
|
715
715
|
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
716
716
|
function AnchoredPopover({ rect, width = 620, onClose, children }) {
|
|
717
717
|
const ref = React4.useRef(null);
|
|
718
|
+
const isInnermostEscapeLayer = useEscapeLayer(!!rect);
|
|
718
719
|
const w = Math.min(width, window.innerWidth - 32);
|
|
719
720
|
const [h, setH] = React4.useState(0);
|
|
720
721
|
React4.useLayoutEffect(() => {
|
|
@@ -731,7 +732,8 @@ function AnchoredPopover({ rect, width = 620, onClose, children }) {
|
|
|
731
732
|
if (ref.current && !ref.current.contains(e.target)) onClose();
|
|
732
733
|
};
|
|
733
734
|
const esc = (e) => {
|
|
734
|
-
if (e.key
|
|
735
|
+
if (e.key !== "Escape" || !isInnermostEscapeLayer()) return;
|
|
736
|
+
onClose();
|
|
735
737
|
};
|
|
736
738
|
const t = setTimeout(() => document.addEventListener("pointerdown", away), 0);
|
|
737
739
|
document.addEventListener("keydown", esc);
|
|
@@ -740,7 +742,7 @@ function AnchoredPopover({ rect, width = 620, onClose, children }) {
|
|
|
740
742
|
document.removeEventListener("pointerdown", away);
|
|
741
743
|
document.removeEventListener("keydown", esc);
|
|
742
744
|
};
|
|
743
|
-
}, [onClose]);
|
|
745
|
+
}, [onClose, isInnermostEscapeLayer]);
|
|
744
746
|
if (!rect) return null;
|
|
745
747
|
const GAP = 8;
|
|
746
748
|
const PAD = 16;
|
|
@@ -1377,14 +1379,16 @@ function useResponsiveRail(options = {}) {
|
|
|
1377
1379
|
mq.addEventListener("change", handler);
|
|
1378
1380
|
return () => mq.removeEventListener("change", handler);
|
|
1379
1381
|
}, [breakpoint]);
|
|
1382
|
+
const isInnermostEscapeLayer = useEscapeLayer(overlay && open);
|
|
1380
1383
|
React12.useEffect(() => {
|
|
1381
1384
|
if (!overlay || !open) return;
|
|
1382
1385
|
const handler = (e) => {
|
|
1383
|
-
if (e.key
|
|
1386
|
+
if (e.key !== "Escape" || !isInnermostEscapeLayer()) return;
|
|
1387
|
+
close();
|
|
1384
1388
|
};
|
|
1385
1389
|
document.addEventListener("keydown", handler);
|
|
1386
1390
|
return () => document.removeEventListener("keydown", handler);
|
|
1387
|
-
}, [overlay, open, close]);
|
|
1391
|
+
}, [overlay, open, close, isInnermostEscapeLayer]);
|
|
1388
1392
|
React12.useEffect(() => {
|
|
1389
1393
|
if (!overlay || !open) return;
|
|
1390
1394
|
const previousOverflow = document.body.style.overflow;
|
|
@@ -1790,10 +1794,12 @@ function Tooltip({ label, placement = "top", children, className = "" }) {
|
|
|
1790
1794
|
onDetach: hide
|
|
1791
1795
|
});
|
|
1792
1796
|
const zIndex = useOverlayLayer(open);
|
|
1797
|
+
const isInnermostEscapeLayer = useEscapeLayer(open);
|
|
1793
1798
|
React13.useEffect(() => {
|
|
1794
1799
|
if (!open) return;
|
|
1795
1800
|
const key = (e) => {
|
|
1796
|
-
if (e.key
|
|
1801
|
+
if (e.key !== "Escape" || !isInnermostEscapeLayer()) return;
|
|
1802
|
+
hide();
|
|
1797
1803
|
};
|
|
1798
1804
|
const away = (e) => {
|
|
1799
1805
|
const t = e.target;
|
|
@@ -1807,7 +1813,7 @@ function Tooltip({ label, placement = "top", children, className = "" }) {
|
|
|
1807
1813
|
document.removeEventListener("keydown", key);
|
|
1808
1814
|
document.removeEventListener("pointerdown", away, true);
|
|
1809
1815
|
};
|
|
1810
|
-
}, [open, hide]);
|
|
1816
|
+
}, [open, hide, isInnermostEscapeLayer]);
|
|
1811
1817
|
const isMouse = (e) => e.pointerType === "mouse";
|
|
1812
1818
|
const onFocus = (e) => {
|
|
1813
1819
|
const el = e.target;
|
|
@@ -4995,22 +5001,29 @@ import { jsx as jsx53, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
|
4995
5001
|
function SortMenu({ fields = [], sort, onSort, align = "right", size = "md", className = "", ...rest }) {
|
|
4996
5002
|
const [open, setOpen] = React30.useState(false);
|
|
4997
5003
|
const zIndex = useOverlayLayer(open);
|
|
5004
|
+
const isInnermostEscapeLayer = useEscapeLayer(open);
|
|
4998
5005
|
const ref = React30.useRef(null);
|
|
4999
5006
|
React30.useEffect(() => {
|
|
5000
5007
|
if (!open) return;
|
|
5001
5008
|
const away = (e) => {
|
|
5002
5009
|
if (ref.current && !ref.current.contains(e.target)) setOpen(false);
|
|
5003
5010
|
};
|
|
5011
|
+
document.addEventListener("pointerdown", away);
|
|
5012
|
+
return () => {
|
|
5013
|
+
document.removeEventListener("pointerdown", away);
|
|
5014
|
+
};
|
|
5015
|
+
}, [open]);
|
|
5016
|
+
React30.useEffect(() => {
|
|
5017
|
+
if (!open) return;
|
|
5004
5018
|
const esc = (e) => {
|
|
5005
|
-
if (e.key
|
|
5019
|
+
if (e.key !== "Escape" || !isInnermostEscapeLayer()) return;
|
|
5020
|
+
setOpen(false);
|
|
5006
5021
|
};
|
|
5007
|
-
document.addEventListener("pointerdown", away);
|
|
5008
5022
|
document.addEventListener("keydown", esc);
|
|
5009
5023
|
return () => {
|
|
5010
|
-
document.removeEventListener("pointerdown", away);
|
|
5011
5024
|
document.removeEventListener("keydown", esc);
|
|
5012
5025
|
};
|
|
5013
|
-
}, [open]);
|
|
5026
|
+
}, [open, isInnermostEscapeLayer]);
|
|
5014
5027
|
const cur = fields.find((f) => f.key === (sort && sort.key));
|
|
5015
5028
|
const dir = sort && sort.dir;
|
|
5016
5029
|
const arrow = (f, d) => {
|
|
@@ -10522,22 +10535,29 @@ function ModeSwitch({ canToggle = false, requestCount = 0, onClearLog, renderLog
|
|
|
10522
10535
|
const mode2 = useRuntimeMode();
|
|
10523
10536
|
const [open, setOpen] = React54.useState(false);
|
|
10524
10537
|
const zIndex = useOverlayLayer(open);
|
|
10538
|
+
const isInnermostEscapeLayer = useEscapeLayer(open);
|
|
10525
10539
|
const ref = React54.useRef(null);
|
|
10526
10540
|
React54.useEffect(() => {
|
|
10527
10541
|
if (!open) return;
|
|
10528
10542
|
const away = (e) => {
|
|
10529
10543
|
if (ref.current && !ref.current.contains(e.target)) setOpen(false);
|
|
10530
10544
|
};
|
|
10545
|
+
document.addEventListener("pointerdown", away);
|
|
10546
|
+
return () => {
|
|
10547
|
+
document.removeEventListener("pointerdown", away);
|
|
10548
|
+
};
|
|
10549
|
+
}, [open]);
|
|
10550
|
+
React54.useEffect(() => {
|
|
10551
|
+
if (!open) return;
|
|
10531
10552
|
const esc = (e) => {
|
|
10532
|
-
if (e.key
|
|
10553
|
+
if (e.key !== "Escape" || !isInnermostEscapeLayer()) return;
|
|
10554
|
+
setOpen(false);
|
|
10533
10555
|
};
|
|
10534
|
-
document.addEventListener("pointerdown", away);
|
|
10535
10556
|
document.addEventListener("keydown", esc);
|
|
10536
10557
|
return () => {
|
|
10537
|
-
document.removeEventListener("pointerdown", away);
|
|
10538
10558
|
document.removeEventListener("keydown", esc);
|
|
10539
10559
|
};
|
|
10540
|
-
}, [open]);
|
|
10560
|
+
}, [open, isInnermostEscapeLayer]);
|
|
10541
10561
|
if (!canToggle) return null;
|
|
10542
10562
|
const test = mode2 === "test";
|
|
10543
10563
|
const s = summary || RuntimeKit.summary();
|
|
@@ -13032,22 +13052,29 @@ function FolderPickerMenu({
|
|
|
13032
13052
|
}) {
|
|
13033
13053
|
const [open, setOpen] = React65.useState(false);
|
|
13034
13054
|
const zIndex = useOverlayLayer(open);
|
|
13055
|
+
const isInnermostEscapeLayer = useEscapeLayer(open);
|
|
13035
13056
|
const ref = React65.useRef(null);
|
|
13036
13057
|
React65.useEffect(() => {
|
|
13037
13058
|
if (!open) return;
|
|
13038
13059
|
const away = (e) => {
|
|
13039
13060
|
if (ref.current && !ref.current.contains(e.target)) setOpen(false);
|
|
13040
13061
|
};
|
|
13062
|
+
document.addEventListener("pointerdown", away);
|
|
13063
|
+
return () => {
|
|
13064
|
+
document.removeEventListener("pointerdown", away);
|
|
13065
|
+
};
|
|
13066
|
+
}, [open]);
|
|
13067
|
+
React65.useEffect(() => {
|
|
13068
|
+
if (!open) return;
|
|
13041
13069
|
const esc = (e) => {
|
|
13042
|
-
if (e.key
|
|
13070
|
+
if (e.key !== "Escape" || !isInnermostEscapeLayer()) return;
|
|
13071
|
+
setOpen(false);
|
|
13043
13072
|
};
|
|
13044
|
-
document.addEventListener("pointerdown", away);
|
|
13045
13073
|
document.addEventListener("keydown", esc);
|
|
13046
13074
|
return () => {
|
|
13047
|
-
document.removeEventListener("pointerdown", away);
|
|
13048
13075
|
document.removeEventListener("keydown", esc);
|
|
13049
13076
|
};
|
|
13050
|
-
}, [open]);
|
|
13077
|
+
}, [open, isInnermostEscapeLayer]);
|
|
13051
13078
|
return /* @__PURE__ */ jsxs87("span", { className: "fd-fb-menu-anchor", ref, children: [
|
|
13052
13079
|
/* @__PURE__ */ jsx94(
|
|
13053
13080
|
IconButton,
|