@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.cjs
CHANGED
|
@@ -959,6 +959,7 @@ var import_react_dom2 = __toESM(require("react-dom"), 1);
|
|
|
959
959
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
960
960
|
function AnchoredPopover({ rect, width = 620, onClose, children }) {
|
|
961
961
|
const ref = React4.useRef(null);
|
|
962
|
+
const isInnermostEscapeLayer = useEscapeLayer(!!rect);
|
|
962
963
|
const w = Math.min(width, window.innerWidth - 32);
|
|
963
964
|
const [h, setH] = React4.useState(0);
|
|
964
965
|
React4.useLayoutEffect(() => {
|
|
@@ -975,7 +976,8 @@ function AnchoredPopover({ rect, width = 620, onClose, children }) {
|
|
|
975
976
|
if (ref.current && !ref.current.contains(e.target)) onClose();
|
|
976
977
|
};
|
|
977
978
|
const esc = (e) => {
|
|
978
|
-
if (e.key
|
|
979
|
+
if (e.key !== "Escape" || !isInnermostEscapeLayer()) return;
|
|
980
|
+
onClose();
|
|
979
981
|
};
|
|
980
982
|
const t = setTimeout(() => document.addEventListener("pointerdown", away), 0);
|
|
981
983
|
document.addEventListener("keydown", esc);
|
|
@@ -984,7 +986,7 @@ function AnchoredPopover({ rect, width = 620, onClose, children }) {
|
|
|
984
986
|
document.removeEventListener("pointerdown", away);
|
|
985
987
|
document.removeEventListener("keydown", esc);
|
|
986
988
|
};
|
|
987
|
-
}, [onClose]);
|
|
989
|
+
}, [onClose, isInnermostEscapeLayer]);
|
|
988
990
|
if (!rect) return null;
|
|
989
991
|
const GAP = 8;
|
|
990
992
|
const PAD = 16;
|
|
@@ -1621,14 +1623,16 @@ function useResponsiveRail(options = {}) {
|
|
|
1621
1623
|
mq.addEventListener("change", handler);
|
|
1622
1624
|
return () => mq.removeEventListener("change", handler);
|
|
1623
1625
|
}, [breakpoint]);
|
|
1626
|
+
const isInnermostEscapeLayer = useEscapeLayer(overlay && open);
|
|
1624
1627
|
React12.useEffect(() => {
|
|
1625
1628
|
if (!overlay || !open) return;
|
|
1626
1629
|
const handler = (e) => {
|
|
1627
|
-
if (e.key
|
|
1630
|
+
if (e.key !== "Escape" || !isInnermostEscapeLayer()) return;
|
|
1631
|
+
close();
|
|
1628
1632
|
};
|
|
1629
1633
|
document.addEventListener("keydown", handler);
|
|
1630
1634
|
return () => document.removeEventListener("keydown", handler);
|
|
1631
|
-
}, [overlay, open, close]);
|
|
1635
|
+
}, [overlay, open, close, isInnermostEscapeLayer]);
|
|
1632
1636
|
React12.useEffect(() => {
|
|
1633
1637
|
if (!overlay || !open) return;
|
|
1634
1638
|
const previousOverflow = document.body.style.overflow;
|
|
@@ -2034,10 +2038,12 @@ function Tooltip({ label, placement = "top", children, className = "" }) {
|
|
|
2034
2038
|
onDetach: hide
|
|
2035
2039
|
});
|
|
2036
2040
|
const zIndex = useOverlayLayer(open);
|
|
2041
|
+
const isInnermostEscapeLayer = useEscapeLayer(open);
|
|
2037
2042
|
React13.useEffect(() => {
|
|
2038
2043
|
if (!open) return;
|
|
2039
2044
|
const key = (e) => {
|
|
2040
|
-
if (e.key
|
|
2045
|
+
if (e.key !== "Escape" || !isInnermostEscapeLayer()) return;
|
|
2046
|
+
hide();
|
|
2041
2047
|
};
|
|
2042
2048
|
const away = (e) => {
|
|
2043
2049
|
const t = e.target;
|
|
@@ -2051,7 +2057,7 @@ function Tooltip({ label, placement = "top", children, className = "" }) {
|
|
|
2051
2057
|
document.removeEventListener("keydown", key);
|
|
2052
2058
|
document.removeEventListener("pointerdown", away, true);
|
|
2053
2059
|
};
|
|
2054
|
-
}, [open, hide]);
|
|
2060
|
+
}, [open, hide, isInnermostEscapeLayer]);
|
|
2055
2061
|
const isMouse = (e) => e.pointerType === "mouse";
|
|
2056
2062
|
const onFocus = (e) => {
|
|
2057
2063
|
const el = e.target;
|
|
@@ -5239,22 +5245,29 @@ var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
|
5239
5245
|
function SortMenu({ fields = [], sort, onSort, align = "right", size = "md", className = "", ...rest }) {
|
|
5240
5246
|
const [open, setOpen] = React30.useState(false);
|
|
5241
5247
|
const zIndex = useOverlayLayer(open);
|
|
5248
|
+
const isInnermostEscapeLayer = useEscapeLayer(open);
|
|
5242
5249
|
const ref = React30.useRef(null);
|
|
5243
5250
|
React30.useEffect(() => {
|
|
5244
5251
|
if (!open) return;
|
|
5245
5252
|
const away = (e) => {
|
|
5246
5253
|
if (ref.current && !ref.current.contains(e.target)) setOpen(false);
|
|
5247
5254
|
};
|
|
5255
|
+
document.addEventListener("pointerdown", away);
|
|
5256
|
+
return () => {
|
|
5257
|
+
document.removeEventListener("pointerdown", away);
|
|
5258
|
+
};
|
|
5259
|
+
}, [open]);
|
|
5260
|
+
React30.useEffect(() => {
|
|
5261
|
+
if (!open) return;
|
|
5248
5262
|
const esc = (e) => {
|
|
5249
|
-
if (e.key
|
|
5263
|
+
if (e.key !== "Escape" || !isInnermostEscapeLayer()) return;
|
|
5264
|
+
setOpen(false);
|
|
5250
5265
|
};
|
|
5251
|
-
document.addEventListener("pointerdown", away);
|
|
5252
5266
|
document.addEventListener("keydown", esc);
|
|
5253
5267
|
return () => {
|
|
5254
|
-
document.removeEventListener("pointerdown", away);
|
|
5255
5268
|
document.removeEventListener("keydown", esc);
|
|
5256
5269
|
};
|
|
5257
|
-
}, [open]);
|
|
5270
|
+
}, [open, isInnermostEscapeLayer]);
|
|
5258
5271
|
const cur = fields.find((f) => f.key === (sort && sort.key));
|
|
5259
5272
|
const dir = sort && sort.dir;
|
|
5260
5273
|
const arrow = (f, d) => {
|
|
@@ -10766,22 +10779,29 @@ function ModeSwitch({ canToggle = false, requestCount = 0, onClearLog, renderLog
|
|
|
10766
10779
|
const mode2 = useRuntimeMode();
|
|
10767
10780
|
const [open, setOpen] = React54.useState(false);
|
|
10768
10781
|
const zIndex = useOverlayLayer(open);
|
|
10782
|
+
const isInnermostEscapeLayer = useEscapeLayer(open);
|
|
10769
10783
|
const ref = React54.useRef(null);
|
|
10770
10784
|
React54.useEffect(() => {
|
|
10771
10785
|
if (!open) return;
|
|
10772
10786
|
const away = (e) => {
|
|
10773
10787
|
if (ref.current && !ref.current.contains(e.target)) setOpen(false);
|
|
10774
10788
|
};
|
|
10789
|
+
document.addEventListener("pointerdown", away);
|
|
10790
|
+
return () => {
|
|
10791
|
+
document.removeEventListener("pointerdown", away);
|
|
10792
|
+
};
|
|
10793
|
+
}, [open]);
|
|
10794
|
+
React54.useEffect(() => {
|
|
10795
|
+
if (!open) return;
|
|
10775
10796
|
const esc = (e) => {
|
|
10776
|
-
if (e.key
|
|
10797
|
+
if (e.key !== "Escape" || !isInnermostEscapeLayer()) return;
|
|
10798
|
+
setOpen(false);
|
|
10777
10799
|
};
|
|
10778
|
-
document.addEventListener("pointerdown", away);
|
|
10779
10800
|
document.addEventListener("keydown", esc);
|
|
10780
10801
|
return () => {
|
|
10781
|
-
document.removeEventListener("pointerdown", away);
|
|
10782
10802
|
document.removeEventListener("keydown", esc);
|
|
10783
10803
|
};
|
|
10784
|
-
}, [open]);
|
|
10804
|
+
}, [open, isInnermostEscapeLayer]);
|
|
10785
10805
|
if (!canToggle) return null;
|
|
10786
10806
|
const test = mode2 === "test";
|
|
10787
10807
|
const s = summary || RuntimeKit.summary();
|
|
@@ -13276,22 +13296,29 @@ function FolderPickerMenu({
|
|
|
13276
13296
|
}) {
|
|
13277
13297
|
const [open, setOpen] = React65.useState(false);
|
|
13278
13298
|
const zIndex = useOverlayLayer(open);
|
|
13299
|
+
const isInnermostEscapeLayer = useEscapeLayer(open);
|
|
13279
13300
|
const ref = React65.useRef(null);
|
|
13280
13301
|
React65.useEffect(() => {
|
|
13281
13302
|
if (!open) return;
|
|
13282
13303
|
const away = (e) => {
|
|
13283
13304
|
if (ref.current && !ref.current.contains(e.target)) setOpen(false);
|
|
13284
13305
|
};
|
|
13306
|
+
document.addEventListener("pointerdown", away);
|
|
13307
|
+
return () => {
|
|
13308
|
+
document.removeEventListener("pointerdown", away);
|
|
13309
|
+
};
|
|
13310
|
+
}, [open]);
|
|
13311
|
+
React65.useEffect(() => {
|
|
13312
|
+
if (!open) return;
|
|
13285
13313
|
const esc = (e) => {
|
|
13286
|
-
if (e.key
|
|
13314
|
+
if (e.key !== "Escape" || !isInnermostEscapeLayer()) return;
|
|
13315
|
+
setOpen(false);
|
|
13287
13316
|
};
|
|
13288
|
-
document.addEventListener("pointerdown", away);
|
|
13289
13317
|
document.addEventListener("keydown", esc);
|
|
13290
13318
|
return () => {
|
|
13291
|
-
document.removeEventListener("pointerdown", away);
|
|
13292
13319
|
document.removeEventListener("keydown", esc);
|
|
13293
13320
|
};
|
|
13294
|
-
}, [open]);
|
|
13321
|
+
}, [open, isInnermostEscapeLayer]);
|
|
13295
13322
|
return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("span", { className: "fd-fb-menu-anchor", ref, children: [
|
|
13296
13323
|
/* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
|
|
13297
13324
|
IconButton,
|