first commit
This commit is contained in:
44
node_modules/vant/es/swipe-cell/SwipeCell.d.ts
generated
vendored
Normal file
44
node_modules/vant/es/swipe-cell/SwipeCell.d.ts
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
import { type PropType, type ExtractPropTypes } from 'vue';
|
||||
import { Interceptor } from '../utils';
|
||||
export declare const swipeCellProps: {
|
||||
name: {
|
||||
type: (NumberConstructor | StringConstructor)[];
|
||||
default: string;
|
||||
};
|
||||
disabled: BooleanConstructor;
|
||||
leftWidth: (NumberConstructor | StringConstructor)[];
|
||||
rightWidth: (NumberConstructor | StringConstructor)[];
|
||||
beforeClose: PropType<Interceptor>;
|
||||
stopPropagation: BooleanConstructor;
|
||||
};
|
||||
export type SwipeCellProps = ExtractPropTypes<typeof swipeCellProps>;
|
||||
declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
|
||||
name: {
|
||||
type: (NumberConstructor | StringConstructor)[];
|
||||
default: string;
|
||||
};
|
||||
disabled: BooleanConstructor;
|
||||
leftWidth: (NumberConstructor | StringConstructor)[];
|
||||
rightWidth: (NumberConstructor | StringConstructor)[];
|
||||
beforeClose: PropType<Interceptor>;
|
||||
stopPropagation: BooleanConstructor;
|
||||
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("open" | "click" | "close")[], "open" | "click" | "close", import("vue").PublicProps, Readonly<ExtractPropTypes<{
|
||||
name: {
|
||||
type: (NumberConstructor | StringConstructor)[];
|
||||
default: string;
|
||||
};
|
||||
disabled: BooleanConstructor;
|
||||
leftWidth: (NumberConstructor | StringConstructor)[];
|
||||
rightWidth: (NumberConstructor | StringConstructor)[];
|
||||
beforeClose: PropType<Interceptor>;
|
||||
stopPropagation: BooleanConstructor;
|
||||
}>> & Readonly<{
|
||||
onClick?: ((...args: any[]) => any) | undefined;
|
||||
onClose?: ((...args: any[]) => any) | undefined;
|
||||
onOpen?: ((...args: any[]) => any) | undefined;
|
||||
}>, {
|
||||
name: string | number;
|
||||
disabled: boolean;
|
||||
stopPropagation: boolean;
|
||||
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
||||
export default _default;
|
||||
174
node_modules/vant/es/swipe-cell/SwipeCell.mjs
generated
vendored
Normal file
174
node_modules/vant/es/swipe-cell/SwipeCell.mjs
generated
vendored
Normal file
@@ -0,0 +1,174 @@
|
||||
import { ref, reactive, computed, defineComponent, createVNode as _createVNode } from "vue";
|
||||
import { clamp, isDef, numericProp, preventDefault, callInterceptor, createNamespace, makeNumericProp } from "../utils/index.mjs";
|
||||
import { useRect, useClickAway, useEventListener } from "@vant/use";
|
||||
import { useTouch } from "../composables/use-touch.mjs";
|
||||
import { useExpose } from "../composables/use-expose.mjs";
|
||||
const [name, bem] = createNamespace("swipe-cell");
|
||||
const swipeCellProps = {
|
||||
name: makeNumericProp(""),
|
||||
disabled: Boolean,
|
||||
leftWidth: numericProp,
|
||||
rightWidth: numericProp,
|
||||
beforeClose: Function,
|
||||
stopPropagation: Boolean
|
||||
};
|
||||
var stdin_default = defineComponent({
|
||||
name,
|
||||
props: swipeCellProps,
|
||||
emits: ["open", "close", "click"],
|
||||
setup(props, {
|
||||
emit,
|
||||
slots
|
||||
}) {
|
||||
let opened;
|
||||
let lockClick;
|
||||
let startOffset;
|
||||
let isInBeforeClosing;
|
||||
const root = ref();
|
||||
const leftRef = ref();
|
||||
const rightRef = ref();
|
||||
const state = reactive({
|
||||
offset: 0,
|
||||
dragging: false
|
||||
});
|
||||
const touch = useTouch();
|
||||
const getWidthByRef = (ref2) => ref2.value ? useRect(ref2).width : 0;
|
||||
const leftWidth = computed(() => isDef(props.leftWidth) ? +props.leftWidth : getWidthByRef(leftRef));
|
||||
const rightWidth = computed(() => isDef(props.rightWidth) ? +props.rightWidth : getWidthByRef(rightRef));
|
||||
const open = (side) => {
|
||||
state.offset = side === "left" ? leftWidth.value : -rightWidth.value;
|
||||
if (!opened) {
|
||||
opened = true;
|
||||
emit("open", {
|
||||
name: props.name,
|
||||
position: side
|
||||
});
|
||||
}
|
||||
};
|
||||
const close = (position) => {
|
||||
state.offset = 0;
|
||||
if (opened) {
|
||||
opened = false;
|
||||
emit("close", {
|
||||
name: props.name,
|
||||
position
|
||||
});
|
||||
}
|
||||
};
|
||||
const toggle = (side) => {
|
||||
const offset = Math.abs(state.offset);
|
||||
const THRESHOLD = 0.15;
|
||||
const threshold = opened ? 1 - THRESHOLD : THRESHOLD;
|
||||
const width = side === "left" ? leftWidth.value : rightWidth.value;
|
||||
if (width && offset > width * threshold) {
|
||||
open(side);
|
||||
} else {
|
||||
close(side);
|
||||
}
|
||||
};
|
||||
const onTouchStart = (event) => {
|
||||
if (!props.disabled) {
|
||||
startOffset = state.offset;
|
||||
touch.start(event);
|
||||
}
|
||||
};
|
||||
const onTouchMove = (event) => {
|
||||
if (props.disabled) {
|
||||
return;
|
||||
}
|
||||
const {
|
||||
deltaX
|
||||
} = touch;
|
||||
touch.move(event);
|
||||
if (touch.isHorizontal()) {
|
||||
lockClick = true;
|
||||
state.dragging = true;
|
||||
const isEdge = !opened || deltaX.value * startOffset < 0;
|
||||
if (isEdge) {
|
||||
preventDefault(event, props.stopPropagation);
|
||||
}
|
||||
state.offset = clamp(deltaX.value + startOffset, -rightWidth.value, leftWidth.value);
|
||||
}
|
||||
};
|
||||
const onTouchEnd = () => {
|
||||
if (state.dragging) {
|
||||
state.dragging = false;
|
||||
toggle(state.offset > 0 ? "left" : "right");
|
||||
setTimeout(() => {
|
||||
lockClick = false;
|
||||
}, 0);
|
||||
}
|
||||
};
|
||||
const onClick = (position = "outside", event) => {
|
||||
if (isInBeforeClosing) return;
|
||||
emit("click", position);
|
||||
if (opened && !lockClick) {
|
||||
isInBeforeClosing = true;
|
||||
callInterceptor(props.beforeClose, {
|
||||
args: [{
|
||||
event,
|
||||
name: props.name,
|
||||
position
|
||||
}],
|
||||
done: () => {
|
||||
isInBeforeClosing = false;
|
||||
close(position);
|
||||
},
|
||||
canceled: () => isInBeforeClosing = false,
|
||||
error: () => isInBeforeClosing = false
|
||||
});
|
||||
}
|
||||
};
|
||||
const getClickHandler = (position) => (event) => {
|
||||
if (lockClick || opened) {
|
||||
event.stopPropagation();
|
||||
}
|
||||
if (lockClick) {
|
||||
return;
|
||||
}
|
||||
onClick(position, event);
|
||||
};
|
||||
const renderSideContent = (side, ref2) => {
|
||||
const contentSlot = slots[side];
|
||||
if (contentSlot) {
|
||||
return _createVNode("div", {
|
||||
"ref": ref2,
|
||||
"class": bem(side),
|
||||
"onClick": getClickHandler(side)
|
||||
}, [contentSlot()]);
|
||||
}
|
||||
};
|
||||
useExpose({
|
||||
open,
|
||||
close
|
||||
});
|
||||
useClickAway(root, (event) => onClick("outside", event), {
|
||||
eventName: "touchstart"
|
||||
});
|
||||
useEventListener("touchmove", onTouchMove, {
|
||||
target: root
|
||||
});
|
||||
return () => {
|
||||
var _a;
|
||||
const wrapperStyle = {
|
||||
transform: `translate3d(${state.offset}px, 0, 0)`,
|
||||
transitionDuration: state.dragging ? "0s" : ".6s"
|
||||
};
|
||||
return _createVNode("div", {
|
||||
"ref": root,
|
||||
"class": bem(),
|
||||
"onClick": getClickHandler("cell"),
|
||||
"onTouchstartPassive": onTouchStart,
|
||||
"onTouchend": onTouchEnd,
|
||||
"onTouchcancel": onTouchEnd
|
||||
}, [_createVNode("div", {
|
||||
"class": bem("wrapper"),
|
||||
"style": wrapperStyle
|
||||
}, [renderSideContent("left", leftRef), (_a = slots.default) == null ? void 0 : _a.call(slots), renderSideContent("right", rightRef)])]);
|
||||
};
|
||||
}
|
||||
});
|
||||
export {
|
||||
stdin_default as default,
|
||||
swipeCellProps
|
||||
};
|
||||
1
node_modules/vant/es/swipe-cell/index.css
generated
vendored
Normal file
1
node_modules/vant/es/swipe-cell/index.css
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.van-swipe-cell{position:relative;overflow:hidden;cursor:-webkit-grab;cursor:grab}.van-swipe-cell__wrapper{transition-timing-function:cubic-bezier(.18,.89,.32,1);transition-property:transform}.van-swipe-cell__left,.van-swipe-cell__right{position:absolute;top:0;height:100%}.van-swipe-cell__left{left:0;transform:translate3d(-100%,0,0)}.van-swipe-cell__right{right:0;transform:translate3d(100%,0,0)}
|
||||
39
node_modules/vant/es/swipe-cell/index.d.ts
generated
vendored
Normal file
39
node_modules/vant/es/swipe-cell/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
import { SwipeCellProps } from './SwipeCell';
|
||||
export declare const SwipeCell: import("../utils").WithInstall<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
||||
name: {
|
||||
type: (NumberConstructor | StringConstructor)[];
|
||||
default: string;
|
||||
};
|
||||
disabled: BooleanConstructor;
|
||||
leftWidth: (NumberConstructor | StringConstructor)[];
|
||||
rightWidth: (NumberConstructor | StringConstructor)[];
|
||||
beforeClose: import("vue").PropType<import("../utils").Interceptor>;
|
||||
stopPropagation: BooleanConstructor;
|
||||
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("open" | "click" | "close")[], "open" | "click" | "close", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
||||
name: {
|
||||
type: (NumberConstructor | StringConstructor)[];
|
||||
default: string;
|
||||
};
|
||||
disabled: BooleanConstructor;
|
||||
leftWidth: (NumberConstructor | StringConstructor)[];
|
||||
rightWidth: (NumberConstructor | StringConstructor)[];
|
||||
beforeClose: import("vue").PropType<import("../utils").Interceptor>;
|
||||
stopPropagation: BooleanConstructor;
|
||||
}>> & Readonly<{
|
||||
onClick?: ((...args: any[]) => any) | undefined;
|
||||
onClose?: ((...args: any[]) => any) | undefined;
|
||||
onOpen?: ((...args: any[]) => any) | undefined;
|
||||
}>, {
|
||||
name: string | number;
|
||||
disabled: boolean;
|
||||
stopPropagation: boolean;
|
||||
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
|
||||
export default SwipeCell;
|
||||
export { swipeCellProps } from './SwipeCell';
|
||||
export type { SwipeCellProps };
|
||||
export type { SwipeCellSide, SwipeCellPosition, SwipeCellInstance, } from './types';
|
||||
declare module 'vue' {
|
||||
interface GlobalComponents {
|
||||
VanSwipeCell: typeof SwipeCell;
|
||||
}
|
||||
}
|
||||
10
node_modules/vant/es/swipe-cell/index.mjs
generated
vendored
Normal file
10
node_modules/vant/es/swipe-cell/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
import { withInstall } from "../utils/index.mjs";
|
||||
import _SwipeCell from "./SwipeCell.mjs";
|
||||
const SwipeCell = withInstall(_SwipeCell);
|
||||
var stdin_default = SwipeCell;
|
||||
import { swipeCellProps } from "./SwipeCell.mjs";
|
||||
export {
|
||||
SwipeCell,
|
||||
stdin_default as default,
|
||||
swipeCellProps
|
||||
};
|
||||
1
node_modules/vant/es/swipe-cell/style/index.d.ts
generated
vendored
Normal file
1
node_modules/vant/es/swipe-cell/style/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
2
node_modules/vant/es/swipe-cell/style/index.mjs
generated
vendored
Normal file
2
node_modules/vant/es/swipe-cell/style/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import "../../style/base.css";
|
||||
import "../index.css";
|
||||
9
node_modules/vant/es/swipe-cell/types.d.ts
generated
vendored
Normal file
9
node_modules/vant/es/swipe-cell/types.d.ts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import type { ComponentPublicInstance } from 'vue';
|
||||
import type { SwipeCellProps } from './SwipeCell';
|
||||
export type SwipeCellSide = 'left' | 'right';
|
||||
export type SwipeCellPosition = SwipeCellSide | 'cell' | 'outside';
|
||||
export type SwipeCellExpose = {
|
||||
open: (side: SwipeCellSide) => void;
|
||||
close: (position: SwipeCellPosition) => void;
|
||||
};
|
||||
export type SwipeCellInstance = ComponentPublicInstance<SwipeCellProps, SwipeCellExpose>;
|
||||
0
node_modules/vant/es/swipe-cell/types.mjs
generated
vendored
Normal file
0
node_modules/vant/es/swipe-cell/types.mjs
generated
vendored
Normal file
Reference in New Issue
Block a user