shift.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /**
  2. * @fileoverview added by tsickle
  3. * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  4. */
  5. import * as tslib_1 from "tslib";
  6. /**
  7. * @param {?} data
  8. * @return {?}
  9. */
  10. export function shift(data) {
  11. var _a, _b;
  12. /** @type {?} */
  13. var placement = data.placement;
  14. /** @type {?} */
  15. var basePlacement = placement.split(' ')[0];
  16. /** @type {?} */
  17. var shiftvariation = placement.split(' ')[1];
  18. if (shiftvariation) {
  19. var _c = data.offsets, host = _c.host, target = _c.target;
  20. /** @type {?} */
  21. var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;
  22. /** @type {?} */
  23. var side = isVertical ? 'left' : 'top';
  24. /** @type {?} */
  25. var measurement = isVertical ? 'width' : 'height';
  26. /** @type {?} */
  27. var shiftOffsets = {
  28. start: (_a = {}, _a[side] = host[side], _a),
  29. end: (_b = {},
  30. _b[side] = host[side] + host[measurement] - target[measurement],
  31. _b)
  32. };
  33. data.offsets.target = tslib_1.__assign({}, target, ((/** @type {?} */ (shiftOffsets)))[shiftvariation]);
  34. }
  35. return data;
  36. }
  37. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpZnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYm9vdHN0cmFwL3Bvc2l0aW9uaW5nLyIsInNvdXJjZXMiOlsibW9kaWZpZXJzL3NoaWZ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE1BQU0sVUFBVSxLQUFLLENBQUMsSUFBVTs7O1FBQ3hCLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUzs7UUFDMUIsYUFBYSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDOztRQUN2QyxjQUFjLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFOUMsSUFBSSxjQUFjLEVBQUU7UUFDWixJQUFBLGlCQUErQixFQUE3QixjQUFJLEVBQUUsa0JBQXVCOztZQUMvQixVQUFVLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7WUFDNUQsSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLOztZQUNsQyxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVE7O1lBRTdDLFlBQVksR0FBRztZQUNuQixLQUFLLFlBQUksR0FBQyxJQUFJLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFFO1lBQzdCLEdBQUc7Z0JBQ0QsR0FBQyxJQUFJLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO21CQUM3RDtTQUNGO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLHdCQUFRLE1BQU0sRUFBSyxDQUFDLG1CQUFBLFlBQVksRUFBTyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUUsQ0FBQztLQUMvRTtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGEgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2hpZnQoZGF0YTogRGF0YSk6IERhdGEge1xuICBjb25zdCBwbGFjZW1lbnQgPSBkYXRhLnBsYWNlbWVudDtcbiAgY29uc3QgYmFzZVBsYWNlbWVudCA9IHBsYWNlbWVudC5zcGxpdCgnICcpWzBdO1xuICBjb25zdCBzaGlmdHZhcmlhdGlvbiA9IHBsYWNlbWVudC5zcGxpdCgnICcpWzFdO1xuXG4gIGlmIChzaGlmdHZhcmlhdGlvbikge1xuICAgIGNvbnN0IHsgaG9zdCwgdGFyZ2V0IH0gPSBkYXRhLm9mZnNldHM7XG4gICAgY29uc3QgaXNWZXJ0aWNhbCA9IFsnYm90dG9tJywgJ3RvcCddLmluZGV4T2YoYmFzZVBsYWNlbWVudCkgIT09IC0xO1xuICAgIGNvbnN0IHNpZGUgPSBpc1ZlcnRpY2FsID8gJ2xlZnQnIDogJ3RvcCc7XG4gICAgY29uc3QgbWVhc3VyZW1lbnQgPSBpc1ZlcnRpY2FsID8gJ3dpZHRoJyA6ICdoZWlnaHQnO1xuXG4gICAgY29uc3Qgc2hpZnRPZmZzZXRzID0ge1xuICAgICAgc3RhcnQ6IHsgW3NpZGVdOiBob3N0W3NpZGVdIH0sXG4gICAgICBlbmQ6IHtcbiAgICAgICAgW3NpZGVdOiBob3N0W3NpZGVdICsgaG9zdFttZWFzdXJlbWVudF0gLSB0YXJnZXRbbWVhc3VyZW1lbnRdXG4gICAgICB9XG4gICAgfTtcblxuICAgIGRhdGEub2Zmc2V0cy50YXJnZXQgPSB7IC4uLnRhcmdldCwgLi4uKHNoaWZ0T2Zmc2V0cyBhcyBhbnkpW3NoaWZ0dmFyaWF0aW9uXSB9O1xuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG4iXX0=