@axiom-lattice/react-sdk 2.1.124 → 2.1.125

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 CHANGED
@@ -6521,6 +6521,24 @@ var Menu = ({
6521
6521
  const handleCloseDrawer = (0, import_react28.useCallback)((itemId) => {
6522
6522
  setDrawerStates((prev) => ({ ...prev, [itemId]: false }));
6523
6523
  }, []);
6524
+ const openDrawerIds = (0, import_react28.useMemo)(
6525
+ () => items.filter((item) => item.type === "drawer" && drawerStates[item.id]).map((item) => item.id),
6526
+ [items, drawerStates]
6527
+ );
6528
+ (0, import_react28.useEffect)(() => {
6529
+ if (openDrawerIds.length === 0) return;
6530
+ const handlePointerDown = (e) => {
6531
+ const target = e.target;
6532
+ if (!target || typeof target.closest !== "function") return;
6533
+ openDrawerIds.forEach((id) => {
6534
+ if (!target.closest(`.menu-drawer-${id}`)) {
6535
+ handleCloseDrawer(id);
6536
+ }
6537
+ });
6538
+ };
6539
+ document.addEventListener("mousedown", handlePointerDown);
6540
+ return () => document.removeEventListener("mousedown", handlePointerDown);
6541
+ }, [openDrawerIds, handleCloseDrawer]);
6524
6542
  const handleToggleExpand = (0, import_react28.useCallback)(() => {
6525
6543
  if (!forceIconMode) {
6526
6544
  const newValue = !isIconView;
@@ -6665,6 +6683,7 @@ var Menu = ({
6665
6683
  items.filter((item) => item.type === "drawer").map((item) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
6666
6684
  import_antd9.Drawer,
6667
6685
  {
6686
+ rootClassName: `menu-drawer-${item.id}`,
6668
6687
  title: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
6669
6688
  "div",
6670
6689
  {