first commit

This commit is contained in:
2025-12-29 14:59:44 +08:00
commit 10c3fbb0d7
5315 changed files with 795443 additions and 0 deletions

172
node_modules/vant/es/popup/Popup.d.ts generated vendored Normal file
View File

@@ -0,0 +1,172 @@
import { type CSSProperties, type ExtractPropTypes } from 'vue';
import type { PopupPosition, PopupCloseIconPosition } from './types';
export declare const popupProps: {
show: BooleanConstructor;
zIndex: (NumberConstructor | StringConstructor)[];
overlay: {
type: BooleanConstructor;
default: true;
};
duration: (NumberConstructor | StringConstructor)[];
teleport: import("vue").PropType<import("vue").TeleportProps["to"]>;
lockScroll: {
type: BooleanConstructor;
default: true;
};
lazyRender: {
type: BooleanConstructor;
default: true;
};
beforeClose: import("vue").PropType<import("../utils").Interceptor>;
overlayProps: import("vue").PropType<Partial<import("../overlay").OverlayProps>>;
overlayStyle: import("vue").PropType<CSSProperties>;
overlayClass: import("vue").PropType<unknown>;
transitionAppear: BooleanConstructor;
closeOnClickOverlay: {
type: BooleanConstructor;
default: true;
};
} & {
round: BooleanConstructor;
position: {
type: import("vue").PropType<PopupPosition>;
default: PopupPosition;
};
closeIcon: {
type: import("vue").PropType<string>;
default: string;
};
closeable: BooleanConstructor;
transition: StringConstructor;
iconPrefix: StringConstructor;
closeOnPopstate: BooleanConstructor;
closeIconPosition: {
type: import("vue").PropType<PopupCloseIconPosition>;
default: PopupCloseIconPosition;
};
destroyOnClose: BooleanConstructor;
safeAreaInsetTop: BooleanConstructor;
safeAreaInsetBottom: BooleanConstructor;
};
export type PopupProps = ExtractPropTypes<typeof popupProps>;
declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
show: BooleanConstructor;
zIndex: (NumberConstructor | StringConstructor)[];
overlay: {
type: BooleanConstructor;
default: true;
};
duration: (NumberConstructor | StringConstructor)[];
teleport: import("vue").PropType<import("vue").TeleportProps["to"]>;
lockScroll: {
type: BooleanConstructor;
default: true;
};
lazyRender: {
type: BooleanConstructor;
default: true;
};
beforeClose: import("vue").PropType<import("../utils").Interceptor>;
overlayProps: import("vue").PropType<Partial<import("../overlay").OverlayProps>>;
overlayStyle: import("vue").PropType<CSSProperties>;
overlayClass: import("vue").PropType<unknown>;
transitionAppear: BooleanConstructor;
closeOnClickOverlay: {
type: BooleanConstructor;
default: true;
};
} & {
round: BooleanConstructor;
position: {
type: import("vue").PropType<PopupPosition>;
default: PopupPosition;
};
closeIcon: {
type: import("vue").PropType<string>;
default: string;
};
closeable: BooleanConstructor;
transition: StringConstructor;
iconPrefix: StringConstructor;
closeOnPopstate: BooleanConstructor;
closeIconPosition: {
type: import("vue").PropType<PopupCloseIconPosition>;
default: PopupCloseIconPosition;
};
destroyOnClose: BooleanConstructor;
safeAreaInsetTop: BooleanConstructor;
safeAreaInsetBottom: BooleanConstructor;
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("open" | "close" | "keydown" | "opened" | "closed" | "update:show" | "clickOverlay" | "clickCloseIcon")[], "open" | "close" | "keydown" | "opened" | "closed" | "update:show" | "clickOverlay" | "clickCloseIcon", import("vue").PublicProps, Readonly<ExtractPropTypes<{
show: BooleanConstructor;
zIndex: (NumberConstructor | StringConstructor)[];
overlay: {
type: BooleanConstructor;
default: true;
};
duration: (NumberConstructor | StringConstructor)[];
teleport: import("vue").PropType<import("vue").TeleportProps["to"]>;
lockScroll: {
type: BooleanConstructor;
default: true;
};
lazyRender: {
type: BooleanConstructor;
default: true;
};
beforeClose: import("vue").PropType<import("../utils").Interceptor>;
overlayProps: import("vue").PropType<Partial<import("../overlay").OverlayProps>>;
overlayStyle: import("vue").PropType<CSSProperties>;
overlayClass: import("vue").PropType<unknown>;
transitionAppear: BooleanConstructor;
closeOnClickOverlay: {
type: BooleanConstructor;
default: true;
};
} & {
round: BooleanConstructor;
position: {
type: import("vue").PropType<PopupPosition>;
default: PopupPosition;
};
closeIcon: {
type: import("vue").PropType<string>;
default: string;
};
closeable: BooleanConstructor;
transition: StringConstructor;
iconPrefix: StringConstructor;
closeOnPopstate: BooleanConstructor;
closeIconPosition: {
type: import("vue").PropType<PopupCloseIconPosition>;
default: PopupCloseIconPosition;
};
destroyOnClose: BooleanConstructor;
safeAreaInsetTop: BooleanConstructor;
safeAreaInsetBottom: BooleanConstructor;
}>> & Readonly<{
onKeydown?: ((...args: any[]) => any) | undefined;
onClose?: ((...args: any[]) => any) | undefined;
onOpen?: ((...args: any[]) => any) | undefined;
onOpened?: ((...args: any[]) => any) | undefined;
onClosed?: ((...args: any[]) => any) | undefined;
"onUpdate:show"?: ((...args: any[]) => any) | undefined;
onClickOverlay?: ((...args: any[]) => any) | undefined;
onClickCloseIcon?: ((...args: any[]) => any) | undefined;
}>, {
position: PopupPosition;
round: boolean;
overlay: boolean;
show: boolean;
safeAreaInsetBottom: boolean;
lockScroll: boolean;
lazyRender: boolean;
transitionAppear: boolean;
closeOnClickOverlay: boolean;
closeIcon: string;
closeable: boolean;
closeOnPopstate: boolean;
closeIconPosition: PopupCloseIconPosition;
destroyOnClose: boolean;
safeAreaInsetTop: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;

221
node_modules/vant/es/popup/Popup.mjs generated vendored Normal file
View File

@@ -0,0 +1,221 @@
import { ref, watch, provide, Teleport, nextTick, computed, onMounted, Transition, onActivated, onDeactivated, defineComponent, mergeProps as _mergeProps, createVNode as _createVNode, vShow as _vShow, withDirectives as _withDirectives, Fragment as _Fragment } from "vue";
import { popupSharedProps } from "./shared.mjs";
import { isDef, extend, makeStringProp, callInterceptor, createNamespace, HAPTICS_FEEDBACK } from "../utils/index.mjs";
import { useEventListener } from "@vant/use";
import { useExpose } from "../composables/use-expose.mjs";
import { useLockScroll } from "../composables/use-lock-scroll.mjs";
import { useLazyRender } from "../composables/use-lazy-render.mjs";
import { POPUP_TOGGLE_KEY } from "../composables/on-popup-reopen.mjs";
import { useGlobalZIndex } from "../composables/use-global-z-index.mjs";
import { useScopeId } from "../composables/use-scope-id.mjs";
import { Icon } from "../icon/index.mjs";
import { Overlay } from "../overlay/index.mjs";
const popupProps = extend({}, popupSharedProps, {
round: Boolean,
position: makeStringProp("center"),
closeIcon: makeStringProp("cross"),
closeable: Boolean,
transition: String,
iconPrefix: String,
closeOnPopstate: Boolean,
closeIconPosition: makeStringProp("top-right"),
destroyOnClose: Boolean,
safeAreaInsetTop: Boolean,
safeAreaInsetBottom: Boolean
});
const [name, bem] = createNamespace("popup");
var stdin_default = defineComponent({
name,
inheritAttrs: false,
props: popupProps,
emits: ["open", "close", "opened", "closed", "keydown", "update:show", "clickOverlay", "clickCloseIcon"],
setup(props, {
emit,
attrs,
slots
}) {
let opened;
let shouldReopen;
const zIndex = ref();
const popupRef = ref();
const lazyRender = useLazyRender(() => props.show || !props.lazyRender);
const style = computed(() => {
const style2 = {
zIndex: zIndex.value
};
if (isDef(props.duration)) {
const key = props.position === "center" ? "animationDuration" : "transitionDuration";
style2[key] = `${props.duration}s`;
}
return style2;
});
const open = () => {
if (!opened) {
opened = true;
zIndex.value = props.zIndex !== void 0 ? +props.zIndex : useGlobalZIndex();
emit("open");
}
};
const close = () => {
if (opened) {
callInterceptor(props.beforeClose, {
done() {
opened = false;
emit("close");
emit("update:show", false);
}
});
}
};
const onClickOverlay = (event) => {
emit("clickOverlay", event);
if (props.closeOnClickOverlay) {
close();
}
};
const renderOverlay = () => {
if (props.overlay) {
const overlayProps = extend({
show: props.show,
class: props.overlayClass,
zIndex: zIndex.value,
duration: props.duration,
customStyle: props.overlayStyle,
role: props.closeOnClickOverlay ? "button" : void 0,
tabindex: props.closeOnClickOverlay ? 0 : void 0
}, props.overlayProps);
return _createVNode(Overlay, _mergeProps(overlayProps, useScopeId(), {
"onClick": onClickOverlay
}), {
default: slots["overlay-content"]
});
}
};
const onClickCloseIcon = (event) => {
emit("clickCloseIcon", event);
close();
};
const renderCloseIcon = () => {
if (props.closeable) {
return _createVNode(Icon, {
"role": "button",
"tabindex": 0,
"name": props.closeIcon,
"class": [bem("close-icon", props.closeIconPosition), HAPTICS_FEEDBACK],
"classPrefix": props.iconPrefix,
"onClick": onClickCloseIcon
}, null);
}
};
let timer;
const onOpened = () => {
if (timer) clearTimeout(timer);
timer = setTimeout(() => {
emit("opened");
});
};
const onClosed = () => emit("closed");
const onKeydown = (event) => emit("keydown", event);
const renderPopup = lazyRender(() => {
var _a;
const {
destroyOnClose,
round,
position,
safeAreaInsetTop,
safeAreaInsetBottom,
show
} = props;
if (!show && destroyOnClose) {
return;
}
return _withDirectives(_createVNode("div", _mergeProps({
"ref": popupRef,
"style": style.value,
"role": "dialog",
"tabindex": 0,
"class": [bem({
round,
[position]: position
}), {
"van-safe-area-top": safeAreaInsetTop,
"van-safe-area-bottom": safeAreaInsetBottom
}],
"onKeydown": onKeydown
}, attrs, useScopeId()), [(_a = slots.default) == null ? void 0 : _a.call(slots), renderCloseIcon()]), [[_vShow, show]]);
});
const renderTransition = () => {
const {
position,
transition,
transitionAppear
} = props;
const name2 = position === "center" ? "van-fade" : `van-popup-slide-${position}`;
return _createVNode(Transition, {
"name": transition || name2,
"appear": transitionAppear,
"onAfterEnter": onOpened,
"onAfterLeave": onClosed
}, {
default: renderPopup
});
};
watch(() => props.show, (show) => {
if (show && !opened) {
open();
if (attrs.tabindex === 0) {
nextTick(() => {
var _a;
(_a = popupRef.value) == null ? void 0 : _a.focus();
});
}
}
if (!show && opened) {
opened = false;
emit("close");
}
});
useExpose({
popupRef
});
useLockScroll(popupRef, () => props.show && props.lockScroll);
useEventListener("popstate", () => {
if (props.closeOnPopstate) {
close();
shouldReopen = false;
}
});
onMounted(() => {
if (props.show) {
open();
}
});
onActivated(() => {
if (shouldReopen) {
emit("update:show", true);
shouldReopen = false;
}
});
onDeactivated(() => {
if (props.show && props.teleport) {
close();
shouldReopen = true;
}
});
provide(POPUP_TOGGLE_KEY, () => props.show);
return () => {
if (props.teleport) {
return _createVNode(Teleport, {
"to": props.teleport
}, {
default: () => [renderOverlay(), renderTransition()]
});
}
return _createVNode(_Fragment, null, [renderOverlay(), renderTransition()]);
};
}
});
export {
stdin_default as default,
popupProps
};

1
node_modules/vant/es/popup/index.css generated vendored Normal file
View File

@@ -0,0 +1 @@
:root,:host{--van-popup-background: var(--van-background-2);--van-popup-transition: transform var(--van-duration-base);--van-popup-round-radius: 16px;--van-popup-close-icon-size: 22px;--van-popup-close-icon-color: var(--van-gray-5);--van-popup-close-icon-margin: 16px;--van-popup-close-icon-z-index: 1}.van-overflow-hidden{overflow:hidden!important}.van-popup{position:fixed;max-height:100%;overflow-y:auto;box-sizing:border-box;background:var(--van-popup-background);transition:var(--van-popup-transition);-webkit-overflow-scrolling:touch}.van-popup--center{top:50%;left:0;right:0;width:-webkit-fit-content;width:fit-content;max-width:calc(100vw - var(--van-padding-md) * 2);margin:0 auto;transform:translateY(-50%)}.van-popup--center.van-popup--round{border-radius:var(--van-popup-round-radius)}.van-popup--top{top:0;left:0;width:100%}.van-popup--top.van-popup--round{border-radius:0 0 var(--van-popup-round-radius) var(--van-popup-round-radius)}.van-popup--right{top:50%;right:0;transform:translate3d(0,-50%,0)}.van-popup--right.van-popup--round{border-radius:var(--van-popup-round-radius) 0 0 var(--van-popup-round-radius)}.van-popup--bottom{bottom:0;left:0;width:100%}.van-popup--bottom.van-popup--round{border-radius:var(--van-popup-round-radius) var(--van-popup-round-radius) 0 0}.van-popup--left{top:50%;left:0;transform:translate3d(0,-50%,0)}.van-popup--left.van-popup--round{border-radius:0 var(--van-popup-round-radius) var(--van-popup-round-radius) 0}.van-popup-slide-top-enter-active,.van-popup-slide-left-enter-active,.van-popup-slide-right-enter-active,.van-popup-slide-bottom-enter-active{transition-timing-function:var(--van-ease-out)}.van-popup-slide-top-leave-active,.van-popup-slide-left-leave-active,.van-popup-slide-right-leave-active,.van-popup-slide-bottom-leave-active{transition-timing-function:var(--van-ease-in)}.van-popup-slide-top-enter-from,.van-popup-slide-top-leave-active{transform:translate3d(0,-100%,0)}.van-popup-slide-right-enter-from,.van-popup-slide-right-leave-active{transform:translate3d(100%,-50%,0)}.van-popup-slide-bottom-enter-from,.van-popup-slide-bottom-leave-active{transform:translate3d(0,100%,0)}.van-popup-slide-left-enter-from,.van-popup-slide-left-leave-active{transform:translate3d(-100%,-50%,0)}.van-popup__close-icon{position:absolute;z-index:var(--van-popup-close-icon-z-index);color:var(--van-popup-close-icon-color);font-size:var(--van-popup-close-icon-size)}.van-popup__close-icon--top-left{top:var(--van-popup-close-icon-margin);left:var(--van-popup-close-icon-margin)}.van-popup__close-icon--top-right{top:var(--van-popup-close-icon-margin);right:var(--van-popup-close-icon-margin)}.van-popup__close-icon--bottom-left{bottom:var(--van-popup-close-icon-margin);left:var(--van-popup-close-icon-margin)}.van-popup__close-icon--bottom-right{right:var(--van-popup-close-icon-margin);bottom:var(--van-popup-close-icon-margin)}

129
node_modules/vant/es/popup/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,129 @@
export declare const Popup: import("../utils").WithInstall<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
show: BooleanConstructor;
zIndex: (NumberConstructor | StringConstructor)[];
overlay: {
type: BooleanConstructor;
default: true;
};
duration: (NumberConstructor | StringConstructor)[];
teleport: import("vue").PropType<import("vue").TeleportProps["to"]>;
lockScroll: {
type: BooleanConstructor;
default: true;
};
lazyRender: {
type: BooleanConstructor;
default: true;
};
beforeClose: import("vue").PropType<import("../utils").Interceptor>;
overlayProps: import("vue").PropType<Partial<import("..").OverlayProps>>;
overlayStyle: import("vue").PropType<import("vue").CSSProperties>;
overlayClass: import("vue").PropType<unknown>;
transitionAppear: BooleanConstructor;
closeOnClickOverlay: {
type: BooleanConstructor;
default: true;
};
} & {
round: BooleanConstructor;
position: {
type: import("vue").PropType<import("./types").PopupPosition>;
default: import("./types").PopupPosition;
};
closeIcon: {
type: import("vue").PropType<string>;
default: string;
};
closeable: BooleanConstructor;
transition: StringConstructor;
iconPrefix: StringConstructor;
closeOnPopstate: BooleanConstructor;
closeIconPosition: {
type: import("vue").PropType<import("./types").PopupCloseIconPosition>;
default: import("./types").PopupCloseIconPosition;
};
destroyOnClose: BooleanConstructor;
safeAreaInsetTop: BooleanConstructor;
safeAreaInsetBottom: BooleanConstructor;
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("open" | "close" | "keydown" | "opened" | "closed" | "update:show" | "clickOverlay" | "clickCloseIcon")[], "open" | "close" | "keydown" | "opened" | "closed" | "update:show" | "clickOverlay" | "clickCloseIcon", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
show: BooleanConstructor;
zIndex: (NumberConstructor | StringConstructor)[];
overlay: {
type: BooleanConstructor;
default: true;
};
duration: (NumberConstructor | StringConstructor)[];
teleport: import("vue").PropType<import("vue").TeleportProps["to"]>;
lockScroll: {
type: BooleanConstructor;
default: true;
};
lazyRender: {
type: BooleanConstructor;
default: true;
};
beforeClose: import("vue").PropType<import("../utils").Interceptor>;
overlayProps: import("vue").PropType<Partial<import("..").OverlayProps>>;
overlayStyle: import("vue").PropType<import("vue").CSSProperties>;
overlayClass: import("vue").PropType<unknown>;
transitionAppear: BooleanConstructor;
closeOnClickOverlay: {
type: BooleanConstructor;
default: true;
};
} & {
round: BooleanConstructor;
position: {
type: import("vue").PropType<import("./types").PopupPosition>;
default: import("./types").PopupPosition;
};
closeIcon: {
type: import("vue").PropType<string>;
default: string;
};
closeable: BooleanConstructor;
transition: StringConstructor;
iconPrefix: StringConstructor;
closeOnPopstate: BooleanConstructor;
closeIconPosition: {
type: import("vue").PropType<import("./types").PopupCloseIconPosition>;
default: import("./types").PopupCloseIconPosition;
};
destroyOnClose: BooleanConstructor;
safeAreaInsetTop: BooleanConstructor;
safeAreaInsetBottom: BooleanConstructor;
}>> & Readonly<{
onKeydown?: ((...args: any[]) => any) | undefined;
onClose?: ((...args: any[]) => any) | undefined;
onOpen?: ((...args: any[]) => any) | undefined;
onOpened?: ((...args: any[]) => any) | undefined;
onClosed?: ((...args: any[]) => any) | undefined;
"onUpdate:show"?: ((...args: any[]) => any) | undefined;
onClickOverlay?: ((...args: any[]) => any) | undefined;
onClickCloseIcon?: ((...args: any[]) => any) | undefined;
}>, {
position: import("./types").PopupPosition;
round: boolean;
overlay: boolean;
show: boolean;
safeAreaInsetBottom: boolean;
lockScroll: boolean;
lazyRender: boolean;
transitionAppear: boolean;
closeOnClickOverlay: boolean;
closeIcon: string;
closeable: boolean;
closeOnPopstate: boolean;
closeIconPosition: import("./types").PopupCloseIconPosition;
destroyOnClose: boolean;
safeAreaInsetTop: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
export default Popup;
export { popupProps } from './Popup';
export type { PopupProps } from './Popup';
export type { PopupPosition, PopupInstance, PopupThemeVars, PopupCloseIconPosition, } from './types';
declare module 'vue' {
interface GlobalComponents {
VanPopup: typeof Popup;
}
}

10
node_modules/vant/es/popup/index.mjs generated vendored Normal file
View File

@@ -0,0 +1,10 @@
import { withInstall } from "../utils/index.mjs";
import _Popup from "./Popup.mjs";
const Popup = withInstall(_Popup);
var stdin_default = Popup;
import { popupProps } from "./Popup.mjs";
export {
Popup,
stdin_default as default,
popupProps
};

32
node_modules/vant/es/popup/shared.d.ts generated vendored Normal file
View File

@@ -0,0 +1,32 @@
import type { OverlayProps } from '../overlay';
import { Interceptor } from '../utils';
import type { PropType, CSSProperties, TeleportProps } from 'vue';
export declare const popupSharedProps: {
show: BooleanConstructor;
zIndex: (NumberConstructor | StringConstructor)[];
overlay: {
type: BooleanConstructor;
default: true;
};
duration: (NumberConstructor | StringConstructor)[];
teleport: PropType<TeleportProps["to"]>;
lockScroll: {
type: BooleanConstructor;
default: true;
};
lazyRender: {
type: BooleanConstructor;
default: true;
};
beforeClose: PropType<Interceptor>;
overlayProps: PropType<Partial<OverlayProps>>;
overlayStyle: PropType<CSSProperties>;
overlayClass: PropType<unknown>;
transitionAppear: BooleanConstructor;
closeOnClickOverlay: {
type: BooleanConstructor;
default: true;
};
};
export type PopupSharedPropKeys = Array<keyof typeof popupSharedProps>;
export declare const popupSharedPropKeys: PopupSharedPropKeys;

36
node_modules/vant/es/popup/shared.mjs generated vendored Normal file
View File

@@ -0,0 +1,36 @@
import { truthProp, unknownProp, numericProp } from "../utils/index.mjs";
const popupSharedProps = {
// whether to show popup
show: Boolean,
// z-index
zIndex: numericProp,
// whether to show overlay
overlay: truthProp,
// transition duration
duration: numericProp,
// teleport
teleport: [String, Object],
// prevent body scroll
lockScroll: truthProp,
// whether to lazy render
lazyRender: truthProp,
// callback function before close
beforeClose: Function,
// overlay props
overlayProps: Object,
// overlay custom style
overlayStyle: Object,
// overlay custom class name
overlayClass: unknownProp,
// Initial rendering animation
transitionAppear: Boolean,
// whether to close popup when overlay is clicked
closeOnClickOverlay: truthProp
};
const popupSharedPropKeys = Object.keys(
popupSharedProps
);
export {
popupSharedPropKeys,
popupSharedProps
};

1
node_modules/vant/es/popup/style/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1 @@
export {};

5
node_modules/vant/es/popup/style/index.mjs generated vendored Normal file
View File

@@ -0,0 +1,5 @@
import "../../style/base.css";
import "../../badge/index.css";
import "../../icon/index.css";
import "../../overlay/index.css";
import "../index.css";

17
node_modules/vant/es/popup/types.d.ts generated vendored Normal file
View File

@@ -0,0 +1,17 @@
import type { Ref, ComponentPublicInstance } from 'vue';
import type { PopupProps } from './Popup';
export type PopupPosition = 'top' | 'left' | 'bottom' | 'right' | 'center' | '';
export type PopupCloseIconPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
export type PopupExpose = {
popupRef: Ref<HTMLElement>;
};
export type PopupInstance = ComponentPublicInstance<PopupProps, PopupExpose>;
export type PopupThemeVars = {
popupBackground?: string;
popupTransition?: string;
popupRoundRadius?: string;
popupCloseIconSize?: string;
popupCloseIconColor?: string;
popupCloseIconMargin?: string;
popupCloseIconZIndex?: number | string;
};

0
node_modules/vant/es/popup/types.mjs generated vendored Normal file
View File