UNPKG

@kubit-ui-web/react-components

Version:

Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience

41 lines 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.offset = exports.convertValueToCoords = void 0; const tooltipAlign_1 = require("../../types/tooltipAlign"); const getMainAxisFromPlacement_1 = require("../utils/getMainAxisFromPlacement"); const convertValueToCoords = (state, value) => { const { placement } = state; const isVertical = (0, getMainAxisFromPlacement_1.getMainAxisFromPlacement)(placement) === 'x'; const mainAxisMulti = [tooltipAlign_1.TooltipAlignType.LEFT, tooltipAlign_1.TooltipAlignType.TOP].includes(placement) ? -1 : 1; const crossAxisMulti = 1; const rawValue = value; const { mainAxis, crossAxis } = { mainAxis: rawValue, crossAxis: 0, }; return isVertical ? { x: crossAxis * crossAxisMulti, y: mainAxis * mainAxisMulti } : { x: mainAxis * mainAxisMulti, y: crossAxis * crossAxisMulti }; }; exports.convertValueToCoords = convertValueToCoords; /** * Modifies the placement by translating the floating element along the * specified axes. * A number (shorthand for `mainAxis` or distance), or an axes configuration * object may be passed. */ const offset = (value = 0) => ({ name: 'offset', options: value, fn(state) { const { x, y } = state; const diffCoords = (0, exports.convertValueToCoords)(state, value); return { x: x + diffCoords.x, y: y + diffCoords.y, data: diffCoords, }; }, }); exports.offset = offset; //# sourceMappingURL=offset.js.map