UNPKG

tdesign-mobile-vue

Version:
55 lines (47 loc) 2.09 kB
/** * tdesign v1.7.0 * (c) 2024 TDesign Group * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _slicedToArray = require('@babel/runtime/helpers/slicedToArray'); var vue = require('vue'); var vanilla = require('@use-gesture/vanilla'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray); var Gesture = vanilla.createGesture([vanilla.dragAction, vanilla.pinchAction]); function useGesture(config) { var gesture = vue.ref(null); var destroy = function destroy() { var _gesture$value, _gesture$value$destro; return (_gesture$value = gesture.value) === null || _gesture$value === void 0 || (_gesture$value$destro = _gesture$value.destroy) === null || _gesture$value$destro === void 0 ? void 0 : _gesture$value$destro.call(_gesture$value); }; vue.watch(function () { return [config === null || config === void 0 ? void 0 : config.destroyInvisible, config === null || config === void 0 ? void 0 : config.visible]; }, function (_ref) { var _ref2 = _slicedToArray__default["default"](_ref, 2), destroyInvisible = _ref2[0], visible = _ref2[1]; if (destroyInvisible && !visible) { destroy(); } }); vue.onUnmounted(function () { var _gesture$value2, _gesture$value2$destr; (_gesture$value2 = gesture.value) === null || _gesture$value2 === void 0 || (_gesture$value2$destr = _gesture$value2.destroy) === null || _gesture$value2$destr === void 0 || _gesture$value2$destr.call(_gesture$value2); }); var create = function create(target, handler) { var config2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; gesture.value = new Gesture(target, handler, config2); returns.gesture = gesture.value; }; var returns = vue.reactive({ gesture: gesture.value, destroy: destroy, create: create }); return returns; } exports.useGesture = useGesture; //# sourceMappingURL=index.js.map