This commit is contained in:
ruying408
2025-04-13 19:54:19 +08:00
parent 8931ac24cd
commit d0e5c8cd6e
22 changed files with 4970 additions and 4382 deletions
-58
View File
@@ -1,58 +0,0 @@
{
"hash": "2db8a438",
"configHash": "79f1e1cd",
"lockfileHash": "f052b98e",
"browserHash": "c985e4db",
"optimized": {
"vue": {
"src": "../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
"file": "vue.js",
"fileHash": "3dbeaf7e",
"needsInterop": false
},
"vitepress > @vue/devtools-api": {
"src": "../../../node_modules/.pnpm/@vue+devtools-api@7.7.2/node_modules/@vue/devtools-api/dist/index.js",
"file": "vitepress___@vue_devtools-api.js",
"fileHash": "438ef906",
"needsInterop": false
},
"vitepress > @vueuse/core": {
"src": "../../../node_modules/.pnpm/@vueuse+core@12.8.2/node_modules/@vueuse/core/index.mjs",
"file": "vitepress___@vueuse_core.js",
"fileHash": "a26197c8",
"needsInterop": false
},
"vitepress > @vueuse/integrations/useFocusTrap": {
"src": "../../../node_modules/.pnpm/@vueuse+integrations@12.8.2_focus-trap@7.6.4/node_modules/@vueuse/integrations/useFocusTrap.mjs",
"file": "vitepress___@vueuse_integrations_useFocusTrap.js",
"fileHash": "9fa24bbd",
"needsInterop": false
},
"vitepress > mark.js/src/vanilla.js": {
"src": "../../../node_modules/.pnpm/mark.js@8.11.1/node_modules/mark.js/src/vanilla.js",
"file": "vitepress___mark__js_src_vanilla__js.js",
"fileHash": "d7f4c694",
"needsInterop": false
},
"vitepress > minisearch": {
"src": "../../../node_modules/.pnpm/minisearch@7.1.2/node_modules/minisearch/dist/es/index.js",
"file": "vitepress___minisearch.js",
"fileHash": "3cf8f096",
"needsInterop": false
},
"medium-zoom": {
"src": "../../../node_modules/.pnpm/medium-zoom@1.1.0/node_modules/medium-zoom/dist/medium-zoom.esm.js",
"file": "medium-zoom.js",
"fileHash": "bf9d03b4",
"needsInterop": false
}
},
"chunks": {
"chunk-YV5DHV7Y": {
"file": "chunk-YV5DHV7Y.js"
},
"chunk-XPVHNUZ4": {
"file": "chunk-XPVHNUZ4.js"
}
}
}
File diff suppressed because one or more lines are too long
-469
View File
@@ -1,469 +0,0 @@
// node_modules/.pnpm/medium-zoom@1.1.0/node_modules/medium-zoom/dist/medium-zoom.esm.js
var _extends = Object.assign || function(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
var isSupported = function isSupported2(node) {
return node.tagName === "IMG";
};
var isNodeList = function isNodeList2(selector) {
return NodeList.prototype.isPrototypeOf(selector);
};
var isNode = function isNode2(selector) {
return selector && selector.nodeType === 1;
};
var isSvg = function isSvg2(image) {
var source = image.currentSrc || image.src;
return source.substr(-4).toLowerCase() === ".svg";
};
var getImagesFromSelector = function getImagesFromSelector2(selector) {
try {
if (Array.isArray(selector)) {
return selector.filter(isSupported);
}
if (isNodeList(selector)) {
return [].slice.call(selector).filter(isSupported);
}
if (isNode(selector)) {
return [selector].filter(isSupported);
}
if (typeof selector === "string") {
return [].slice.call(document.querySelectorAll(selector)).filter(isSupported);
}
return [];
} catch (err) {
throw new TypeError("The provided selector is invalid.\nExpects a CSS selector, a Node element, a NodeList or an array.\nSee: https://github.com/francoischalifour/medium-zoom");
}
};
var createOverlay = function createOverlay2(background) {
var overlay = document.createElement("div");
overlay.classList.add("medium-zoom-overlay");
overlay.style.background = background;
return overlay;
};
var cloneTarget = function cloneTarget2(template) {
var _template$getBounding = template.getBoundingClientRect(), top = _template$getBounding.top, left = _template$getBounding.left, width = _template$getBounding.width, height = _template$getBounding.height;
var clone = template.cloneNode();
var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0;
clone.removeAttribute("id");
clone.style.position = "absolute";
clone.style.top = top + scrollTop + "px";
clone.style.left = left + scrollLeft + "px";
clone.style.width = width + "px";
clone.style.height = height + "px";
clone.style.transform = "";
return clone;
};
var createCustomEvent = function createCustomEvent2(type, params) {
var eventParams = _extends({
bubbles: false,
cancelable: false,
detail: void 0
}, params);
if (typeof window.CustomEvent === "function") {
return new CustomEvent(type, eventParams);
}
var customEvent = document.createEvent("CustomEvent");
customEvent.initCustomEvent(type, eventParams.bubbles, eventParams.cancelable, eventParams.detail);
return customEvent;
};
var mediumZoom = function mediumZoom2(selector) {
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
var Promise2 = window.Promise || function Promise3(fn) {
function noop() {
}
fn(noop, noop);
};
var _handleClick = function _handleClick2(event) {
var target = event.target;
if (target === overlay) {
close();
return;
}
if (images.indexOf(target) === -1) {
return;
}
toggle({ target });
};
var _handleScroll = function _handleScroll2() {
if (isAnimating || !active.original) {
return;
}
var currentScroll = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
if (Math.abs(scrollTop - currentScroll) > zoomOptions.scrollOffset) {
setTimeout(close, 150);
}
};
var _handleKeyUp = function _handleKeyUp2(event) {
var key = event.key || event.keyCode;
if (key === "Escape" || key === "Esc" || key === 27) {
close();
}
};
var update = function update2() {
var options2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
var newOptions = options2;
if (options2.background) {
overlay.style.background = options2.background;
}
if (options2.container && options2.container instanceof Object) {
newOptions.container = _extends({}, zoomOptions.container, options2.container);
}
if (options2.template) {
var template = isNode(options2.template) ? options2.template : document.querySelector(options2.template);
newOptions.template = template;
}
zoomOptions = _extends({}, zoomOptions, newOptions);
images.forEach(function(image) {
image.dispatchEvent(createCustomEvent("medium-zoom:update", {
detail: { zoom }
}));
});
return zoom;
};
var clone = function clone2() {
var options2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
return mediumZoom2(_extends({}, zoomOptions, options2));
};
var attach = function attach2() {
for (var _len = arguments.length, selectors = Array(_len), _key = 0; _key < _len; _key++) {
selectors[_key] = arguments[_key];
}
var newImages = selectors.reduce(function(imagesAccumulator, currentSelector) {
return [].concat(imagesAccumulator, getImagesFromSelector(currentSelector));
}, []);
newImages.filter(function(newImage) {
return images.indexOf(newImage) === -1;
}).forEach(function(newImage) {
images.push(newImage);
newImage.classList.add("medium-zoom-image");
});
eventListeners.forEach(function(_ref) {
var type = _ref.type, listener = _ref.listener, options2 = _ref.options;
newImages.forEach(function(image) {
image.addEventListener(type, listener, options2);
});
});
return zoom;
};
var detach = function detach2() {
for (var _len2 = arguments.length, selectors = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
selectors[_key2] = arguments[_key2];
}
if (active.zoomed) {
close();
}
var imagesToDetach = selectors.length > 0 ? selectors.reduce(function(imagesAccumulator, currentSelector) {
return [].concat(imagesAccumulator, getImagesFromSelector(currentSelector));
}, []) : images;
imagesToDetach.forEach(function(image) {
image.classList.remove("medium-zoom-image");
image.dispatchEvent(createCustomEvent("medium-zoom:detach", {
detail: { zoom }
}));
});
images = images.filter(function(image) {
return imagesToDetach.indexOf(image) === -1;
});
return zoom;
};
var on = function on2(type, listener) {
var options2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
images.forEach(function(image) {
image.addEventListener("medium-zoom:" + type, listener, options2);
});
eventListeners.push({ type: "medium-zoom:" + type, listener, options: options2 });
return zoom;
};
var off = function off2(type, listener) {
var options2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
images.forEach(function(image) {
image.removeEventListener("medium-zoom:" + type, listener, options2);
});
eventListeners = eventListeners.filter(function(eventListener) {
return !(eventListener.type === "medium-zoom:" + type && eventListener.listener.toString() === listener.toString());
});
return zoom;
};
var open = function open2() {
var _ref2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, target = _ref2.target;
var _animate = function _animate2() {
var container = {
width: document.documentElement.clientWidth,
height: document.documentElement.clientHeight,
left: 0,
top: 0,
right: 0,
bottom: 0
};
var viewportWidth = void 0;
var viewportHeight = void 0;
if (zoomOptions.container) {
if (zoomOptions.container instanceof Object) {
container = _extends({}, container, zoomOptions.container);
viewportWidth = container.width - container.left - container.right - zoomOptions.margin * 2;
viewportHeight = container.height - container.top - container.bottom - zoomOptions.margin * 2;
} else {
var zoomContainer = isNode(zoomOptions.container) ? zoomOptions.container : document.querySelector(zoomOptions.container);
var _zoomContainer$getBou = zoomContainer.getBoundingClientRect(), _width = _zoomContainer$getBou.width, _height = _zoomContainer$getBou.height, _left = _zoomContainer$getBou.left, _top = _zoomContainer$getBou.top;
container = _extends({}, container, {
width: _width,
height: _height,
left: _left,
top: _top
});
}
}
viewportWidth = viewportWidth || container.width - zoomOptions.margin * 2;
viewportHeight = viewportHeight || container.height - zoomOptions.margin * 2;
var zoomTarget = active.zoomedHd || active.original;
var naturalWidth = isSvg(zoomTarget) ? viewportWidth : zoomTarget.naturalWidth || viewportWidth;
var naturalHeight = isSvg(zoomTarget) ? viewportHeight : zoomTarget.naturalHeight || viewportHeight;
var _zoomTarget$getBoundi = zoomTarget.getBoundingClientRect(), top = _zoomTarget$getBoundi.top, left = _zoomTarget$getBoundi.left, width = _zoomTarget$getBoundi.width, height = _zoomTarget$getBoundi.height;
var scaleX = Math.min(Math.max(width, naturalWidth), viewportWidth) / width;
var scaleY = Math.min(Math.max(height, naturalHeight), viewportHeight) / height;
var scale = Math.min(scaleX, scaleY);
var translateX = (-left + (viewportWidth - width) / 2 + zoomOptions.margin + container.left) / scale;
var translateY = (-top + (viewportHeight - height) / 2 + zoomOptions.margin + container.top) / scale;
var transform = "scale(" + scale + ") translate3d(" + translateX + "px, " + translateY + "px, 0)";
active.zoomed.style.transform = transform;
if (active.zoomedHd) {
active.zoomedHd.style.transform = transform;
}
};
return new Promise2(function(resolve) {
if (target && images.indexOf(target) === -1) {
resolve(zoom);
return;
}
var _handleOpenEnd = function _handleOpenEnd2() {
isAnimating = false;
active.zoomed.removeEventListener("transitionend", _handleOpenEnd2);
active.original.dispatchEvent(createCustomEvent("medium-zoom:opened", {
detail: { zoom }
}));
resolve(zoom);
};
if (active.zoomed) {
resolve(zoom);
return;
}
if (target) {
active.original = target;
} else if (images.length > 0) {
var _images = images;
active.original = _images[0];
} else {
resolve(zoom);
return;
}
active.original.dispatchEvent(createCustomEvent("medium-zoom:open", {
detail: { zoom }
}));
scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
isAnimating = true;
active.zoomed = cloneTarget(active.original);
document.body.appendChild(overlay);
if (zoomOptions.template) {
var template = isNode(zoomOptions.template) ? zoomOptions.template : document.querySelector(zoomOptions.template);
active.template = document.createElement("div");
active.template.appendChild(template.content.cloneNode(true));
document.body.appendChild(active.template);
}
if (active.original.parentElement && active.original.parentElement.tagName === "PICTURE" && active.original.currentSrc) {
active.zoomed.src = active.original.currentSrc;
}
document.body.appendChild(active.zoomed);
window.requestAnimationFrame(function() {
document.body.classList.add("medium-zoom--opened");
});
active.original.classList.add("medium-zoom-image--hidden");
active.zoomed.classList.add("medium-zoom-image--opened");
active.zoomed.addEventListener("click", close);
active.zoomed.addEventListener("transitionend", _handleOpenEnd);
if (active.original.getAttribute("data-zoom-src")) {
active.zoomedHd = active.zoomed.cloneNode();
active.zoomedHd.removeAttribute("srcset");
active.zoomedHd.removeAttribute("sizes");
active.zoomedHd.removeAttribute("loading");
active.zoomedHd.src = active.zoomed.getAttribute("data-zoom-src");
active.zoomedHd.onerror = function() {
clearInterval(getZoomTargetSize);
console.warn("Unable to reach the zoom image target " + active.zoomedHd.src);
active.zoomedHd = null;
_animate();
};
var getZoomTargetSize = setInterval(function() {
if (active.zoomedHd.complete) {
clearInterval(getZoomTargetSize);
active.zoomedHd.classList.add("medium-zoom-image--opened");
active.zoomedHd.addEventListener("click", close);
document.body.appendChild(active.zoomedHd);
_animate();
}
}, 10);
} else if (active.original.hasAttribute("srcset")) {
active.zoomedHd = active.zoomed.cloneNode();
active.zoomedHd.removeAttribute("sizes");
active.zoomedHd.removeAttribute("loading");
var loadEventListener = active.zoomedHd.addEventListener("load", function() {
active.zoomedHd.removeEventListener("load", loadEventListener);
active.zoomedHd.classList.add("medium-zoom-image--opened");
active.zoomedHd.addEventListener("click", close);
document.body.appendChild(active.zoomedHd);
_animate();
});
} else {
_animate();
}
});
};
var close = function close2() {
return new Promise2(function(resolve) {
if (isAnimating || !active.original) {
resolve(zoom);
return;
}
var _handleCloseEnd = function _handleCloseEnd2() {
active.original.classList.remove("medium-zoom-image--hidden");
document.body.removeChild(active.zoomed);
if (active.zoomedHd) {
document.body.removeChild(active.zoomedHd);
}
document.body.removeChild(overlay);
active.zoomed.classList.remove("medium-zoom-image--opened");
if (active.template) {
document.body.removeChild(active.template);
}
isAnimating = false;
active.zoomed.removeEventListener("transitionend", _handleCloseEnd2);
active.original.dispatchEvent(createCustomEvent("medium-zoom:closed", {
detail: { zoom }
}));
active.original = null;
active.zoomed = null;
active.zoomedHd = null;
active.template = null;
resolve(zoom);
};
isAnimating = true;
document.body.classList.remove("medium-zoom--opened");
active.zoomed.style.transform = "";
if (active.zoomedHd) {
active.zoomedHd.style.transform = "";
}
if (active.template) {
active.template.style.transition = "opacity 150ms";
active.template.style.opacity = 0;
}
active.original.dispatchEvent(createCustomEvent("medium-zoom:close", {
detail: { zoom }
}));
active.zoomed.addEventListener("transitionend", _handleCloseEnd);
});
};
var toggle = function toggle2() {
var _ref3 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, target = _ref3.target;
if (active.original) {
return close();
}
return open({ target });
};
var getOptions = function getOptions2() {
return zoomOptions;
};
var getImages = function getImages2() {
return images;
};
var getZoomedImage = function getZoomedImage2() {
return active.original;
};
var images = [];
var eventListeners = [];
var isAnimating = false;
var scrollTop = 0;
var zoomOptions = options;
var active = {
original: null,
zoomed: null,
zoomedHd: null,
template: null
// If the selector is omitted, it's replaced by the options
};
if (Object.prototype.toString.call(selector) === "[object Object]") {
zoomOptions = selector;
} else if (selector || typeof selector === "string") {
attach(selector);
}
zoomOptions = _extends({
margin: 0,
background: "#fff",
scrollOffset: 40,
container: null,
template: null
}, zoomOptions);
var overlay = createOverlay(zoomOptions.background);
document.addEventListener("click", _handleClick);
document.addEventListener("keyup", _handleKeyUp);
document.addEventListener("scroll", _handleScroll);
window.addEventListener("resize", close);
var zoom = {
open,
close,
toggle,
update,
clone,
attach,
detach,
on,
off,
getOptions,
getImages,
getZoomedImage
};
return zoom;
};
function styleInject(css2, ref) {
if (ref === void 0) ref = {};
var insertAt = ref.insertAt;
if (!css2 || typeof document === "undefined") {
return;
}
var head = document.head || document.getElementsByTagName("head")[0];
var style = document.createElement("style");
style.type = "text/css";
if (insertAt === "top") {
if (head.firstChild) {
head.insertBefore(style, head.firstChild);
} else {
head.appendChild(style);
}
} else {
head.appendChild(style);
}
if (style.styleSheet) {
style.styleSheet.cssText = css2;
} else {
style.appendChild(document.createTextNode(css2));
}
}
var css = ".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}";
styleInject(css);
var medium_zoom_esm_default = mediumZoom;
export {
medium_zoom_esm_default as default
};
/*! Bundled license information:
medium-zoom/dist/medium-zoom.esm.js:
(*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom *)
*/
//# sourceMappingURL=medium-zoom.js.map
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -35,7 +35,7 @@ import {
unref,
watch,
watchEffect
} from "./chunk-XPVHNUZ4.js";
} from "./chunk-CQOUZRMK.js";
// node_modules/.pnpm/@vueuse+shared@12.8.2/node_modules/@vueuse/shared/index.mjs
function computedEager(fn, options) {
@@ -9716,4 +9716,4 @@ export {
useWindowScroll,
useWindowSize
};
//# sourceMappingURL=chunk-YV5DHV7Y.js.map
//# sourceMappingURL=chunk-MSWVC7RX.js.map
@@ -281,8 +281,8 @@ import {
watchTriggerable,
watchWithFilter,
whenever
} from "./chunk-YV5DHV7Y.js";
import "./chunk-XPVHNUZ4.js";
} from "./chunk-MSWVC7RX.js";
import "./chunk-CQOUZRMK.js";
export {
DefaultMagicKeysAliasMap,
StorageSerializers,
@@ -3,13 +3,13 @@ import {
toArray,
tryOnScopeDispose,
unrefElement
} from "./chunk-YV5DHV7Y.js";
} from "./chunk-MSWVC7RX.js";
import {
computed,
shallowRef,
toValue,
watch
} from "./chunk-XPVHNUZ4.js";
} from "./chunk-CQOUZRMK.js";
// node_modules/.pnpm/tabbable@6.2.0/node_modules/tabbable/dist/index.esm.js
var candidateSelectors = ["input:not([inert])", "select:not([inert])", "textarea:not([inert])", "a[href]:not([inert])", "button:not([inert])", "[tabindex]:not(slot):not([inert])", "audio[controls]:not([inert])", "video[controls]:not([inert])", '[contenteditable]:not([contenteditable="false"]):not([inert])', "details>summary:first-of-type:not([inert])", "details:not([inert])"];
@@ -56,12 +56,17 @@ import {
effectScope,
getCurrentInstance,
getCurrentScope,
getCurrentWatcher,
getTransitionRawChildren,
guardReactiveProps,
h,
handleError,
hasInjectionContext,
hydrate,
hydrateOnIdle,
hydrateOnInteraction,
hydrateOnMediaQuery,
hydrateOnVisible,
initCustomFormatter,
initDirectivesForSSR,
inject,
@@ -94,6 +99,7 @@ import {
onServerPrefetch,
onUnmounted,
onUpdated,
onWatcherCleanup,
openBlock,
popScopeId,
provide,
@@ -134,9 +140,13 @@ import {
useAttrs,
useCssModule,
useCssVars,
useHost,
useId,
useModel,
useSSRContext,
useShadowRoot,
useSlots,
useTemplateRef,
useTransitionState,
vModelCheckbox,
vModelDynamic,
@@ -158,7 +168,7 @@ import {
withMemo,
withModifiers,
withScopeId
} from "./chunk-XPVHNUZ4.js";
} from "./chunk-CQOUZRMK.js";
export {
BaseTransition,
BaseTransitionPropsValidators,
@@ -217,12 +227,17 @@ export {
effectScope,
getCurrentInstance,
getCurrentScope,
getCurrentWatcher,
getTransitionRawChildren,
guardReactiveProps,
h,
handleError,
hasInjectionContext,
hydrate,
hydrateOnIdle,
hydrateOnInteraction,
hydrateOnMediaQuery,
hydrateOnVisible,
initCustomFormatter,
initDirectivesForSSR,
inject,
@@ -255,6 +270,7 @@ export {
onServerPrefetch,
onUnmounted,
onUpdated,
onWatcherCleanup,
openBlock,
popScopeId,
provide,
@@ -295,9 +311,13 @@ export {
useAttrs,
useCssModule,
useCssVars,
useHost,
useId,
useModel,
useSSRContext,
useShadowRoot,
useSlots,
useTemplateRef,
useTransitionState,
vModelCheckbox,
vModelDynamic,
+1 -1
View File
@@ -13,7 +13,7 @@ i18n(Internationalization 的缩写,首末字符 i 和 n 之间有 18 个字
# 使用
1、引入插件
在官网下载并安装[国际化多语言插件](https://cool-js.com/plugin/create?id=177)
在官网下载并安装[国际化多语言插件](https://cool-js.com/plugin/177)
安装后,框架就会自动扫描并翻译成对应的语言。