{"version":3,"file":"dom.mjs","names":[],"sources":["../../../../src/base-ui/DraggablePanel/core/dom.ts"],"sourcesContent":["export const isRtl = (element: Element | null) =>\n  !!element && getComputedStyle(element).direction === 'rtl';\n\nlet locks = 0;\nlet saved: Partial<CSSStyleDeclaration> = {};\n\nexport const lockBody = (cursor: string, onEscape: () => void) => {\n  const { style } = document.body;\n  const onKeyDown = (event: KeyboardEvent) => {\n    if (event.key === 'Escape') {\n      event.preventDefault();\n      onEscape();\n    }\n  };\n\n  if (locks === 0) {\n    saved = {\n      cursor: style.cursor,\n      userSelect: style.userSelect,\n      webkitUserSelect: style.webkitUserSelect,\n    };\n  }\n  locks += 1;\n  Object.assign(style, { cursor, userSelect: 'none', webkitUserSelect: 'none' });\n  addEventListener('keydown', onKeyDown, true);\n\n  return () => {\n    locks -= 1;\n    if (locks === 0) Object.assign(style, saved);\n    removeEventListener('keydown', onKeyDown, true);\n  };\n};\n"],"mappings":";AAAA,MAAa,SAAS,YACpB,CAAC,CAAC,WAAW,iBAAiB,OAAO,CAAC,CAAC,cAAc;AAEvD,IAAI,QAAQ;AACZ,IAAI,QAAsC,CAAC;AAE3C,MAAa,YAAY,QAAgB,aAAyB;CAChE,MAAM,EAAE,UAAU,SAAS;CAC3B,MAAM,aAAa,UAAyB;EAC1C,IAAI,MAAM,QAAQ,UAAU;GAC1B,MAAM,eAAe;GACrB,SAAS;EACX;CACF;CAEA,IAAI,UAAU,GACZ,QAAQ;EACN,QAAQ,MAAM;EACd,YAAY,MAAM;EAClB,kBAAkB,MAAM;CAC1B;CAEF,SAAS;CACT,OAAO,OAAO,OAAO;EAAE;EAAQ,YAAY;EAAQ,kBAAkB;CAAO,CAAC;CAC7E,iBAAiB,WAAW,WAAW,IAAI;CAE3C,aAAa;EACX,SAAS;EACT,IAAI,UAAU,GAAG,OAAO,OAAO,OAAO,KAAK;EAC3C,oBAAoB,WAAW,WAAW,IAAI;CAChD;AACF"}