{"version":3,"file":"rects.cjs","sources":["../../src/Splitter/utils/rects.ts"],"sourcesContent":["export interface Rectangle {\n x: number\n y: number\n width: number\n height: number\n}\n\nexport function intersects(\n rectOne: Rectangle,\n rectTwo: Rectangle,\n strict: boolean,\n): boolean {\n if (strict) {\n return (\n rectOne.x < rectTwo.x + rectTwo.width\n && rectOne.x + rectOne.width > rectTwo.x\n && rectOne.y < rectTwo.y + rectTwo.height\n && rectOne.y + rectOne.height > rectTwo.y\n )\n }\n else {\n return (\n rectOne.x <= rectTwo.x + rectTwo.width\n && rectOne.x + rectOne.width >= rectTwo.x\n && rectOne.y <= rectTwo.y + rectTwo.height\n && rectOne.y + rectOne.height >= rectTwo.y\n )\n }\n}\n\nexport function getIntersectingRectangle(\n rectOne: Rectangle,\n rectTwo: Rectangle,\n strict: boolean,\n): Rectangle {\n if (!intersects(rectOne, rectTwo, strict)) {\n return {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n }\n }\n\n return {\n x: Math.max(rectOne.x, rectTwo.x),\n y: Math.max(rectOne.y, rectTwo.y),\n width:\n Math.min(rectOne.x + rectOne.width, rectTwo.x + rectTwo.width)\n - Math.max(rectOne.x, rectTwo.x),\n height:\n Math.min(rectOne.y + rectOne.height, rectTwo.y + rectTwo.height)\n - Math.max(rectOne.y, rectTwo.y),\n }\n}\n"],"names":[],"mappings":";;AAOgB,SAAA,UAAA,CACd,OACA,EAAA,OAAA,EACA,MACS,EAAA;AACT,EAAY;AACV,IACE,OAAA,OAAA,CAAQ,IAAI,OAAQ,CAAA,CAAA,GAAI,QAAQ,KAC7B,IAAA,OAAA,CAAQ,CAAI,GAAA,OAAA,CAAQ,KAAQ,GAAA,OAAA,CAAQ,KACpC,OAAQ,CAAA,CAAA,GAAI,QAAQ,CAAI,GAAA,OAAA,CAAQ,UAChC,OAAQ,CAAA,CAAA,GAAI,OAAQ,CAAA,MAAA,GAAS,OAAQ,CAAA,CAAA;AAAA;AAW9C;;;;"}