UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

1 lines • 1.55 kB
{"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"}