import { __awaiter, __generator } from "tslib"; import { useComponent } from 'functional-mini/component'; import { getInstanceBoundingClientRect } from '../jsapi/get-instance-bounding-client-rect'; export var useInstanceBoundingClientRect = function () { var instance = useComponent(); function getInstance() { if (instance.$id) { return my; } return instance; } function getBoundingClientRectWithId(prefix) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, getInstanceBoundingClientRect(getInstance(), "".concat(prefix).concat(instance.$id ? "-".concat(instance.$id) : ''))]; case 1: return [2 /*return*/, _a.sent()]; } }); }); } function getBoundingClientRect(query) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, getInstanceBoundingClientRect(getInstance(), query)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); } function getBoundingClientRectWithBuilder(builder) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, getInstanceBoundingClientRect(getInstance(), builder(instance.$id ? "-".concat(instance.$id) : ''))]; case 1: return [2 /*return*/, _a.sent()]; } }); }); } return { getBoundingClientRect: getBoundingClientRect, getBoundingClientRectWithId: getBoundingClientRectWithId, getBoundingClientRectWithBuilder: getBoundingClientRectWithBuilder, }; };