{"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"}