vevet
Version:
Vevet is a JavaScript library for creative development that simplifies crafting rich interactions like split text animations, carousels, marquees, preloading, and more.
43 lines • 1.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SwipeStyles = void 0;
var env_1 = require("../../../internal/env");
var styles_1 = require("./styles");
var SwipeStyles = /** @class */ (function () {
function SwipeStyles(_ctx) {
this._ctx = _ctx;
this._styles = styles_1.cursorStyles === null || styles_1.cursorStyles === void 0 ? void 0 : styles_1.cursorStyles.cloneNode(true);
this.setInline();
}
/** Applies touch-action and cursor styles */
SwipeStyles.prototype.setInline = function () {
var props = this._ctx.props;
var container = props.container, axis = props.axis, enabled = props.enabled, hasGrabCursor = props.grabCursor;
var style = container.style;
var cursor = enabled && hasGrabCursor ? 'grab' : '';
var touchAction = 'none';
if (axis === 'x') {
touchAction = 'pan-y';
}
else if (axis === 'y') {
touchAction = 'pan-x';
}
style.cursor = cursor;
style.touchAction = touchAction;
};
/** Appends styles */
SwipeStyles.prototype.append = function () {
var swipe = this._ctx;
if (swipe.props.grabCursor && this._styles) {
env_1.body.append(this._styles);
}
};
/** Remove styles */
SwipeStyles.prototype.remove = function () {
var _a;
(_a = this._styles) === null || _a === void 0 ? void 0 : _a.remove();
};
return SwipeStyles;
}());
exports.SwipeStyles = SwipeStyles;
//# sourceMappingURL=index.js.map