@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
1 lines • 1.33 kB
Source Map (JSON)
{"version":3,"file":"collisionPadding.mjs","names":[],"sources":["../../../src/base-ui/floating/collisionPadding.ts"],"sourcesContent":["export type FloatingCollisionPadding =\n number | Partial<Record<'bottom' | 'left' | 'right' | 'top', number>>;\n\nconst BASE_UI_DEFAULT_PADDING = 5;\n\nlet floatingCollisionPadding: FloatingCollisionPadding | undefined;\n\n// Module-level rather than context: it is read at render time by every base-ui positioner,\n// so it must be set once at app bootstrap before any floating layer mounts (e.g. reserve the\n// Electron title bar). Partial objects keep base-ui's 5px default on the unspecified sides.\nexport const setFloatingCollisionPadding = (padding?: FloatingCollisionPadding) => {\n floatingCollisionPadding =\n padding !== undefined && typeof padding === 'object'\n ? {\n bottom: BASE_UI_DEFAULT_PADDING,\n left: BASE_UI_DEFAULT_PADDING,\n right: BASE_UI_DEFAULT_PADDING,\n top: BASE_UI_DEFAULT_PADDING,\n ...padding,\n }\n : padding;\n};\n\nexport const getFloatingCollisionPadding = () => floatingCollisionPadding;\n"],"mappings":";AAGA,MAAM,0BAA0B;AAEhC,IAAI;AAKJ,MAAa,+BAA+B,YAAuC;CACjF,2BACE,YAAY,KAAA,KAAa,OAAO,YAAY,WACxC;EACE,QAAQ;EACR,MAAM;EACN,OAAO;EACP,KAAK;EACL,GAAG;CACL,IACA;AACR;AAEA,MAAa,oCAAoC"}