diff --git a/packages/uni-h5/dist/uni-h5.esm.js b/packages/uni-h5/dist/uni-h5.esm.js index c2f5553b121fb4d5f48033c878c432c2b1ff9ba9..51cb671078cea3d45dc31f7b818c06be5ee579e2 100644 --- a/packages/uni-h5/dist/uni-h5.esm.js +++ b/packages/uni-h5/dist/uni-h5.esm.js @@ -1,5 +1,5 @@ -import {isFunction, extend, isPlainObject, isString, isArray, hasOwn as hasOwn$1, isObject as isObject$1, capitalize, toRawType, makeMap as makeMap$1, isPromise, invokeArrayFns as invokeArrayFns$1, hyphenate, isSymbol, isMap, isGloballyWhitelisted, isIntegerKey, hasChanged, remove, EMPTY_OBJ, isOn, isModelListener, camelize, isSpecialBooleanAttr, NOOP, isSet} from "@vue/shared"; -import {injectHook as injectHook$1, createVNode, inject, provide, reactive as reactive$1, computed, nextTick as nextTick$1, getCurrentInstance, onBeforeMount, onMounted, onBeforeActivate, onBeforeDeactivate, openBlock, createBlock, mergeProps, toDisplayString, ref, defineComponent, resolveComponent, toHandlers, renderSlot, watch, onActivated, onBeforeUnmount as onBeforeUnmount$1, withModifiers, withDirectives, vShow, vModelDynamic, createTextVNode, createCommentVNode, Fragment, renderList, vModelText, watchEffect, withCtx, KeepAlive, resolveDynamicComponent} from "vue"; +import {isFunction, extend, isPlainObject, isString, isArray, hasOwn as hasOwn$1, isObject as isObject$1, capitalize, toRawType, makeMap as makeMap$1, isPromise, invokeArrayFns as invokeArrayFns$1, hyphenate} from "@vue/shared"; +import {injectHook, createVNode, inject, provide, reactive, computed, nextTick, getCurrentInstance, onBeforeMount, onMounted, onBeforeActivate, onBeforeDeactivate, openBlock, createBlock, mergeProps, toDisplayString, ref, defineComponent, resolveComponent, toHandlers, renderSlot, watch, onActivated, onBeforeUnmount, withModifiers, withDirectives, vShow, vModelDynamic, createTextVNode, createCommentVNode, Fragment, renderList, vModelText, watchEffect, withCtx, KeepAlive, resolveDynamicComponent} from "vue"; import {once, passive, normalizeTarget, invokeArrayFns, NAVBAR_HEIGHT, removeLeadingSlash, getLen, parseQuery, decodedQuery, plusReady, debounce, PRIMARY_COLOR as PRIMARY_COLOR$1, updateElementStyle, addFont, scrollTo} from "@dcloudio/uni-shared"; import {useRoute, createRouter, createWebHistory, createWebHashHistory, useRouter, isNavigationFailure, RouterView} from "vue-router"; function applyOptions(options, instance2, publicThis) { @@ -7,12 +7,12 @@ function applyOptions(options, instance2, publicThis) { if (name.indexOf("on") === 0) { const hook = options[name]; if (isFunction(hook)) { - injectHook$1(name, hook.bind(publicThis), instance2); + injectHook(name, hook.bind(publicThis), instance2); } } }); } -function set$2(target, key, val) { +function set(target, key, val) { return target[key] = val; } const isObject = (val) => val !== null && typeof val === "object"; @@ -461,7 +461,7 @@ function init() { }); return; } - function setStyle2(el, style2) { + function setStyle(el, style2) { var elStyle = el.style; Object.keys(style2).forEach(function(key) { var val = style2[key]; @@ -503,15 +503,15 @@ function init() { overflow: "hidden", paddingBottom: support + "(safe-area-inset-" + attr2 + ")" }; - setStyle2(a1, aStyle); - setStyle2(a2, aStyle); - setStyle2(a1Children, { + setStyle(a1, aStyle); + setStyle(a2, aStyle); + setStyle(a1Children, { transition: "0s", animation: "none", width: "400px", height: "400px" }); - setStyle2(a2Children, { + setStyle(a2Children, { transition: "0s", animation: "none", width: "250%", @@ -546,7 +546,7 @@ function init() { }); } var parentDiv = document.createElement("div"); - setStyle2(parentDiv, { + setStyle(parentDiv, { position: "absolute", left: "0", top: "0", @@ -1009,7 +1009,7 @@ function initService(app) { function PolySymbol(name) { return Symbol(process.env.NODE_ENV !== "production" ? "[uni-app]: " + name : name); } -function rpx2px$1(str) { +function rpx2px(str) { if (typeof str === "string") { const res = parseInt(str) || 0; if (str.indexOf("rpx") !== -1 || str.indexOf("upx") !== -1) { @@ -1028,10 +1028,10 @@ const ICON_PATH_SUCCESS_NO_CIRCLE = "M1.952 18.080q-0.32-0.352-0.416-0.88t0.128- const ICON_PATH_SUCCESS = "M15.808 0.16q-4.224 0-7.872 2.176-3.552 2.112-5.632 5.728-2.144 3.744-2.144 8.128 0 4.192 2.144 7.872 2.112 3.52 5.632 5.632 3.68 2.144 7.872 2.144 4.384 0 8.128-2.144 3.616-2.080 5.728-5.632 2.176-3.648 2.176-7.872 0-4.384-2.176-8.128-2.112-3.616-5.728-5.728-3.744-2.176-8.128-2.176zM24.832 11.328l-11.264 11.104q-0.032 0.032-0.112 0.032t-0.112-0.032l-5.216-5.376q-0.096-0.128 0-0.288l0.704-0.96q0.032-0.064 0.112-0.064t0.112 0.032l4.256 3.264q0.064 0.032 0.144 0.032t0.112-0.032l10.336-8.608q0.064-0.064 0.144-0.064t0.112 0.064l0.672 0.672q0.128 0.128 0 0.224z"; const ICON_PATH_WAITING = "M15.84 0.096q-4.224 0-7.872 2.176-3.552 2.112-5.632 5.728-2.144 3.744-2.144 8.128 0 4.192 2.144 7.872 2.112 3.52 5.632 5.632 3.68 2.144 7.872 2.144 4.384 0 8.128-2.144 3.616-2.080 5.728-5.632 2.176-3.648 2.176-7.872 0-4.384-2.176-8.128-2.112-3.616-5.728-5.728-3.744-2.176-8.128-2.176zM23.008 21.92l-0.512 0.896q-0.096 0.128-0.224 0.064l-8-3.808q-0.096-0.064-0.16-0.128-0.128-0.096-0.128-0.288l0.512-12.096q0-0.064 0.048-0.112t0.112-0.048h1.376q0.064 0 0.112 0.048t0.048 0.112l0.448 10.848 6.304 4.256q0.064 0.064 0.080 0.128t-0.016 0.128z"; const ICON_PATH_WARN = "M15.808 0.16q-4.224 0-7.872 2.176-3.552 2.112-5.632 5.728-2.144 3.744-2.144 8.128 0 4.192 2.144 7.872 2.112 3.52 5.632 5.632 3.68 2.144 7.872 2.144 4.384 0 8.128-2.144 3.616-2.080 5.728-5.632 2.176-3.648 2.176-7.872 0-4.384-2.176-8.128-2.112-3.616-5.728-5.728-3.744-2.176-8.128-2.176zM15.136 8.672h1.728q0.128 0 0.224 0.096t0.096 0.256l-0.384 10.24q0 0.064-0.048 0.112t-0.112 0.048h-1.248q-0.096 0-0.144-0.048t-0.048-0.112l-0.384-10.24q0-0.16 0.096-0.256t0.224-0.096zM16 23.328q-0.48 0-0.832-0.352t-0.352-0.848 0.352-0.848 0.832-0.352 0.832 0.352 0.352 0.848-0.352 0.848-0.832 0.352z"; -function createSvgIconVNode(path, color = "#000", size2 = 27) { +function createSvgIconVNode(path, color = "#000", size = 27) { return createVNode("svg", { - width: size2, - height: size2, + width: size, + height: size, viewBox: "0 0 32 32" }, [ createVNode("path", { @@ -1099,7 +1099,7 @@ function initApp$1(app) { } const globalProperties = appConfig.globalProperties; { - globalProperties.$set = set$2; + globalProperties.$set = set; globalProperties.$applyOptions = applyOptions; } } @@ -1114,9 +1114,9 @@ function providePageMeta(id2) { } function initPageMeta(id2) { if (__UNI_FEATURE_PAGES__) { - return reactive$1(normalizePageMeta(JSON.parse(JSON.stringify(mergePageMeta(id2, useRoute().meta))))); + return reactive(normalizePageMeta(JSON.parse(JSON.stringify(mergePageMeta(id2, useRoute().meta))))); } - return reactive$1(normalizePageMeta(JSON.parse(JSON.stringify(mergePageMeta(id2, __uniRoutes[0].meta))))); + return reactive(normalizePageMeta(JSON.parse(JSON.stringify(mergePageMeta(id2, __uniRoutes[0].meta))))); } const PAGE_META_KEYS = [ "navigationBar", @@ -1141,14 +1141,14 @@ function normalizePageMeta(pageMeta) { range: 150, offset: 0 }, pageMeta.refreshOptions || {}); - let offset = rpx2px$1(refreshOptions.offset); + let offset = rpx2px(refreshOptions.offset); const {type} = navigationBar; if (type !== "transparent" && type !== "none") { offset += NAVBAR_HEIGHT + out.top; } refreshOptions.offset = offset; - refreshOptions.height = rpx2px$1(refreshOptions.height); - refreshOptions.range = rpx2px$1(refreshOptions.range); + refreshOptions.height = rpx2px(refreshOptions.height); + refreshOptions.range = rpx2px(refreshOptions.range); pageMeta.refreshOptions = refreshOptions; } } @@ -1329,7 +1329,7 @@ function pruneRouteCache(key) { } routeCache.delete(key2); routeCache.pruneCacheEntry(vnode); - nextTick$1(() => pruneCurrentPages()); + nextTick(() => pruneCurrentPages()); } }); } @@ -1392,7 +1392,7 @@ function initApp(vm) { let tabBar; function useTabBar() { if (!tabBar) { - tabBar = __uniConfig.tabBar && reactive$1(__uniConfig.tabBar); + tabBar = __uniConfig.tabBar && reactive(__uniConfig.tabBar); } return tabBar; } @@ -2972,21 +2972,21 @@ const initIntersectionObserverPolyfill = function() { } return; } - function getFrameElement(doc2) { + function getFrameElement(doc) { try { - return doc2.defaultView && doc2.defaultView.frameElement || null; + return doc.defaultView && doc.defaultView.frameElement || null; } catch (e2) { return null; } } var document2 = function(startDoc) { - var doc2 = startDoc; - var frame = getFrameElement(doc2); + var doc = startDoc; + var frame = getFrameElement(doc); while (frame) { - doc2 = frame.ownerDocument; - frame = getFrameElement(doc2); + doc = frame.ownerDocument; + frame = getFrameElement(doc); } - return doc2; + return doc; }(window.document); var registry = []; var crossOriginUpdater = null; @@ -3110,12 +3110,12 @@ const initIntersectionObserverPolyfill = function() { margins[3] = margins[3] || margins[1]; return margins; }; - IntersectionObserver2.prototype._monitorIntersections = function(doc2) { - var win = doc2.defaultView; + IntersectionObserver2.prototype._monitorIntersections = function(doc) { + var win = doc.defaultView; if (!win) { return; } - if (this._monitoringDocuments.indexOf(doc2) != -1) { + if (this._monitoringDocuments.indexOf(doc) != -1) { return; } var callback = this._checkForIntersections; @@ -3125,10 +3125,10 @@ const initIntersectionObserverPolyfill = function() { monitoringInterval = win.setInterval(callback, this.POLL_INTERVAL); } else { addEvent(win, "resize", callback, true); - addEvent(doc2, "scroll", callback, true); + addEvent(doc, "scroll", callback, true); if (this.USE_MUTATION_OBSERVER && "MutationObserver" in win) { domObserver = new win.MutationObserver(callback); - domObserver.observe(doc2, { + domObserver.observe(doc, { attributes: true, childList: true, characterData: true, @@ -3136,43 +3136,43 @@ const initIntersectionObserverPolyfill = function() { }); } } - this._monitoringDocuments.push(doc2); + this._monitoringDocuments.push(doc); this._monitoringUnsubscribes.push(function() { - var win2 = doc2.defaultView; + var win2 = doc.defaultView; if (win2) { if (monitoringInterval) { win2.clearInterval(monitoringInterval); } removeEvent(win2, "resize", callback, true); } - removeEvent(doc2, "scroll", callback, true); + removeEvent(doc, "scroll", callback, true); if (domObserver) { domObserver.disconnect(); } }); var rootDoc = this.root && (this.root.ownerDocument || this.root) || document2; - if (doc2 != rootDoc) { - var frame = getFrameElement(doc2); + if (doc != rootDoc) { + var frame = getFrameElement(doc); if (frame) { this._monitorIntersections(frame.ownerDocument); } } }; - IntersectionObserver2.prototype._unmonitorIntersections = function(doc2) { - var index2 = this._monitoringDocuments.indexOf(doc2); + IntersectionObserver2.prototype._unmonitorIntersections = function(doc) { + var index2 = this._monitoringDocuments.indexOf(doc); if (index2 == -1) { return; } var rootDoc = this.root && (this.root.ownerDocument || this.root) || document2; var hasDependentTargets = this._observationTargets.some(function(item) { var itemDoc = item.element.ownerDocument; - if (itemDoc == doc2) { + if (itemDoc == doc) { return true; } while (itemDoc && itemDoc != rootDoc) { var frame2 = getFrameElement(itemDoc); itemDoc = frame2 && frame2.ownerDocument; - if (itemDoc == doc2) { + if (itemDoc == doc) { return true; } } @@ -3185,8 +3185,8 @@ const initIntersectionObserverPolyfill = function() { this._monitoringDocuments.splice(index2, 1); this._monitoringUnsubscribes.splice(index2, 1); unsubscribe(); - if (doc2 != rootDoc) { - var frame = getFrameElement(doc2); + if (doc != rootDoc) { + var frame = getFrameElement(doc); if (frame) { this._unmonitorIntersections(frame.ownerDocument); } @@ -3279,8 +3279,8 @@ const initIntersectionObserverPolyfill = function() { } } } else { - var doc2 = parent.ownerDocument; - if (parent != doc2.body && parent != doc2.documentElement && parentComputedStyle.overflow != "visible") { + var doc = parent.ownerDocument; + if (parent != doc.body && parent != doc.documentElement && parentComputedStyle.overflow != "visible") { parentRect = getBoundingClientRect(parent); } } @@ -3298,9 +3298,9 @@ const initIntersectionObserverPolyfill = function() { if (this.root && !isDoc(this.root)) { rootRect = getBoundingClientRect(this.root); } else { - var doc2 = isDoc(this.root) ? this.root : document2; - var html = doc2.documentElement; - var body = doc2.body; + var doc = isDoc(this.root) ? this.root : document2; + var html = doc.documentElement; + var body = doc.body; rootRect = { top: 0, left: 0, @@ -5902,7 +5902,7 @@ var index$6 = /* @__PURE__ */ defineComponent({ }, setup(props2) { const path = computed(() => ICONS[props2.type]); - return () => createVNode("uni-icon", null, [path.value.d && createSvgIconVNode(path.value.d, props2.color || path.value.c, rpx2px$1(props2.size))]); + return () => createVNode("uni-icon", null, [path.value.d && createSvgIconVNode(path.value.d, props2.color || path.value.c, rpx2px(props2.size))]); } }); function useCustomEvent(ref2, emit) { @@ -5933,9 +5933,9 @@ var ResizeSensor = /* @__PURE__ */ defineComponent({ emit }) { const rootRef = ref(null); - const reset2 = useResizeSensorReset(rootRef); - const update = useResizeSensorUpdate(rootRef, emit, reset2); - useResizeSensorLifecycle(rootRef, props2, update, reset2); + const reset = useResizeSensorReset(rootRef); + const update = useResizeSensorUpdate(rootRef, emit, reset); + useResizeSensorLifecycle(rootRef, props2, update, reset); return () => createVNode("uni-resize-sensor", { ref: rootRef, onAnimationstartOnce: update @@ -5946,20 +5946,20 @@ var ResizeSensor = /* @__PURE__ */ defineComponent({ }, [createVNode("div", null, null)], 40, ["onScroll"])], 40, ["onAnimationstartOnce"]); } }); -function useResizeSensorUpdate(rootRef, emit, reset2) { - const size2 = reactive$1({ +function useResizeSensorUpdate(rootRef, emit, reset) { + const size = reactive({ width: -1, height: -1 }); - watch(() => extend({}, size2), (value) => emit("resize", value)); + watch(() => extend({}, size), (value) => emit("resize", value)); return () => { const { offsetWidth, offsetHeight } = rootRef.value; - size2.width = offsetWidth; - size2.height = offsetHeight; - reset2(); + size.width = offsetWidth; + size.height = offsetHeight; + reset(); }; } function useResizeSensorReset(rootRef) { @@ -5974,18 +5974,18 @@ function useResizeSensorReset(rootRef) { lastElementChild.scrollTop = 1e5; }; } -function useResizeSensorLifecycle(rootRef, props2, update, reset2) { - onActivated(reset2); +function useResizeSensorLifecycle(rootRef, props2, update, reset) { + onActivated(reset); onMounted(() => { if (props2.initial) { - nextTick$1(update); + nextTick(update); } const rootEl = rootRef.value; if (rootEl.offsetParent !== rootEl.parentElement) { rootEl.parentElement.style.position = "relative"; } if (!("AnimationEvent" in window)) { - reset2(); + reset(); } }); } @@ -6034,12 +6034,12 @@ var index$5 = /* @__PURE__ */ defineComponent({ }) { const rootRef = ref(null); const state = useImageState(rootRef, props2); - const trigger2 = useCustomEvent(rootRef, emit); + const trigger = useCustomEvent(rootRef, emit); const { fixSize } = useImageSize(rootRef, props2, state); useImageLoader(state, { - trigger: trigger2, + trigger, fixSize }); return () => { @@ -6066,20 +6066,20 @@ var index$5 = /* @__PURE__ */ defineComponent({ function useImageState(rootRef, props2) { const imgSrc = ref(""); const modeStyleRef = computed(() => { - let size2 = "auto"; + let size = "auto"; let position = ""; const opts = IMAGE_MODES[props2.mode]; if (!opts) { position = "0% 0%"; - size2 = "100% 100%"; + size = "100% 100%"; } else { opts[0] && (position = opts[0]); - opts[1] && (size2 = opts[1]); + opts[1] && (size = opts[1]); } const srcVal = imgSrc.value; - return `background-image:${srcVal ? 'url("' + srcVal + '")' : "none"};background-position:${position};background-size:${size2};background-repeat:no-repeat;`; + return `background-image:${srcVal ? 'url("' + srcVal + '")' : "none"};background-position:${position};background-size:${size};background-repeat:no-repeat;`; }); - const state = reactive$1({ + const state = reactive({ rootEl: rootRef, src: computed(() => props2.src ? getRealPath(props2.src) : ""), origWidth: 0, @@ -6100,7 +6100,7 @@ function useImageState(rootRef, props2) { return state; } function useImageLoader(state, { - trigger: trigger2, + trigger, fixSize }) { let img; @@ -6126,7 +6126,7 @@ function useImageLoader(state, { setState(width, height, src); fixSize(); resetImage(); - trigger2("load", evt, { + trigger("load", evt, { width, height }); @@ -6134,7 +6134,7 @@ function useImageLoader(state, { img.onerror = (evt) => { setState(); resetImage(); - trigger2("error", evt, { + trigger("error", evt, { errMsg: `GET ${state.src} 404 (Not Found)` }); }; @@ -6149,7 +6149,7 @@ function useImageLoader(state, { }; watch(() => state.src, (value) => loadImage(value)); onMounted(() => loadImage(state.src)); - onBeforeUnmount$1(() => resetImage()); + onBeforeUnmount(() => resetImage()); } const isChrome = navigator.vendor === "Google Inc."; function fixNumber(num) { @@ -6224,7 +6224,7 @@ function useFormField(nameKey, valueKey) { } }; uniForm.addField(ctx); - onBeforeUnmount$1(() => { + onBeforeUnmount(() => { uniForm.removeField(ctx); }); } @@ -6892,12 +6892,12 @@ function _requestAnimationFrame(e2) { }); } } -function p$1(t2, n) { +function p(t2, n) { if (t2 === n) { return 0; } var i2 = t2.offsetLeft; - return t2.offsetParent ? i2 += p$1(t2.offsetParent, n) : 0; + return t2.offsetParent ? i2 += p(t2.offsetParent, n) : 0; } function f(t2, n) { if (t2 === n) { @@ -7338,7 +7338,7 @@ const _sfc_main$c = { this._updateOldScale(scale); }, _updateOffset: function() { - this._offset.x = p$1(this.$el, this.$parent.$el); + this._offset.x = p(this.$el, this.$parent.$el); this._offset.y = f(this.$el, this.$parent.$el); }, _updateWH: function(scale) { @@ -7699,7 +7699,7 @@ function useProgressState(props2) { realValue > 100 && (realValue = 100); return realValue; }); - const state = reactive$1({ + const state = reactive({ outerBarStyle, innerBarStyle, realPercent, @@ -10037,13 +10037,13 @@ function useSubscribe(callback, name) { }); } }); - onBeforeUnmount$1(() => { + onBeforeUnmount(() => { removeSubscribe(name || normalizeEvent(pageId, vm)); }); } function useOn(name, callback) { onMounted(() => UniViewJSBridge.on(name, callback)); - onBeforeUnmount$1(() => UniViewJSBridge.off(name)); + onBeforeUnmount(() => UniViewJSBridge.off(name)); } const passiveOptions = passive(true); const states = []; @@ -10083,1420 +10083,19 @@ function removeInteractListener(vm) { } } function useUserAction() { - const state = reactive$1({ + const state = reactive({ userAction: false }); onMounted(() => { addInteractListener(state); }); - onBeforeUnmount$1(() => { + onBeforeUnmount(() => { removeInteractListener(state); }); return { state }; } -const targetMap = new WeakMap(); -const effectStack = []; -let activeEffect; -const ITERATE_KEY = Symbol(""); -const MAP_KEY_ITERATE_KEY = Symbol(""); -function isEffect(fn) { - return fn && fn._isEffect === true; -} -function effect(fn, options = EMPTY_OBJ) { - if (isEffect(fn)) { - fn = fn.raw; - } - const effect2 = createReactiveEffect(fn, options); - if (!options.lazy) { - effect2(); - } - return effect2; -} -function stop(effect2) { - if (effect2.active) { - cleanup(effect2); - if (effect2.options.onStop) { - effect2.options.onStop(); - } - effect2.active = false; - } -} -let uid = 0; -function createReactiveEffect(fn, options) { - const effect2 = function reactiveEffect() { - if (!effect2.active) { - return options.scheduler ? void 0 : fn(); - } - if (!effectStack.includes(effect2)) { - cleanup(effect2); - try { - enableTracking(); - effectStack.push(effect2); - activeEffect = effect2; - return fn(); - } finally { - effectStack.pop(); - resetTracking(); - activeEffect = effectStack[effectStack.length - 1]; - } - } - }; - effect2.id = uid++; - effect2.allowRecurse = !!options.allowRecurse; - effect2._isEffect = true; - effect2.active = true; - effect2.raw = fn; - effect2.deps = []; - effect2.options = options; - return effect2; -} -function cleanup(effect2) { - const {deps} = effect2; - if (deps.length) { - for (let i2 = 0; i2 < deps.length; i2++) { - deps[i2].delete(effect2); - } - deps.length = 0; - } -} -let shouldTrack = true; -const trackStack = []; -function pauseTracking() { - trackStack.push(shouldTrack); - shouldTrack = false; -} -function enableTracking() { - trackStack.push(shouldTrack); - shouldTrack = true; -} -function resetTracking() { - const last = trackStack.pop(); - shouldTrack = last === void 0 ? true : last; -} -function track(target, type, key) { - if (!shouldTrack || activeEffect === void 0) { - return; - } - let depsMap = targetMap.get(target); - if (!depsMap) { - targetMap.set(target, depsMap = new Map()); - } - let dep = depsMap.get(key); - if (!dep) { - depsMap.set(key, dep = new Set()); - } - if (!dep.has(activeEffect)) { - dep.add(activeEffect); - activeEffect.deps.push(dep); - } -} -function trigger(target, type, key, newValue, oldValue, oldTarget) { - const depsMap = targetMap.get(target); - if (!depsMap) { - return; - } - const effects = new Set(); - const add2 = (effectsToAdd) => { - if (effectsToAdd) { - effectsToAdd.forEach((effect2) => { - if (effect2 !== activeEffect || effect2.allowRecurse) { - effects.add(effect2); - } - }); - } - }; - if (type === "clear") { - depsMap.forEach(add2); - } else if (key === "length" && isArray(target)) { - depsMap.forEach((dep, key2) => { - if (key2 === "length" || key2 >= newValue) { - add2(dep); - } - }); - } else { - if (key !== void 0) { - add2(depsMap.get(key)); - } - switch (type) { - case "add": - if (!isArray(target)) { - add2(depsMap.get(ITERATE_KEY)); - if (isMap(target)) { - add2(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } else if (isIntegerKey(key)) { - add2(depsMap.get("length")); - } - break; - case "delete": - if (!isArray(target)) { - add2(depsMap.get(ITERATE_KEY)); - if (isMap(target)) { - add2(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } - break; - case "set": - if (isMap(target)) { - add2(depsMap.get(ITERATE_KEY)); - } - break; - } - } - const run = (effect2) => { - if (effect2.options.scheduler) { - effect2.options.scheduler(effect2); - } else { - effect2(); - } - }; - effects.forEach(run); -} -const isNonTrackableKeys = /* @__PURE__ */ makeMap$1(`__proto__,__v_isRef,__isVue`); -const builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol).map((key) => Symbol[key]).filter(isSymbol)); -const get = /* @__PURE__ */ createGetter(); -const shallowGet = /* @__PURE__ */ createGetter(false, true); -const readonlyGet = /* @__PURE__ */ createGetter(true); -const shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true); -const arrayInstrumentations = {}; -["includes", "indexOf", "lastIndexOf"].forEach((key) => { - const method = Array.prototype[key]; - arrayInstrumentations[key] = function(...args) { - const arr = toRaw(this); - for (let i2 = 0, l = this.length; i2 < l; i2++) { - track(arr, "get", i2 + ""); - } - const res = method.apply(arr, args); - if (res === -1 || res === false) { - return method.apply(arr, args.map(toRaw)); - } else { - return res; - } - }; -}); -["push", "pop", "shift", "unshift", "splice"].forEach((key) => { - const method = Array.prototype[key]; - arrayInstrumentations[key] = function(...args) { - pauseTracking(); - const res = method.apply(this, args); - resetTracking(); - return res; - }; -}); -function createGetter(isReadonly2 = false, shallow = false) { - return function get2(target, key, receiver) { - if (key === "__v_isReactive") { - return !isReadonly2; - } else if (key === "__v_isReadonly") { - return isReadonly2; - } else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) { - return target; - } - const targetIsArray = isArray(target); - if (!isReadonly2 && targetIsArray && hasOwn$1(arrayInstrumentations, key)) { - return Reflect.get(arrayInstrumentations, key, receiver); - } - const res = Reflect.get(target, key, receiver); - if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { - return res; - } - if (!isReadonly2) { - track(target, "get", key); - } - if (shallow) { - return res; - } - if (isRef(res)) { - const shouldUnwrap = !targetIsArray || !isIntegerKey(key); - return shouldUnwrap ? res.value : res; - } - if (isObject$1(res)) { - return isReadonly2 ? readonly(res) : reactive(res); - } - return res; - }; -} -const set = /* @__PURE__ */ createSetter(); -const shallowSet = /* @__PURE__ */ createSetter(true); -function createSetter(shallow = false) { - return function set2(target, key, value, receiver) { - const oldValue = target[key]; - if (!shallow) { - value = toRaw(value); - if (!isArray(target) && isRef(oldValue) && !isRef(value)) { - oldValue.value = value; - return true; - } - } - const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn$1(target, key); - const result = Reflect.set(target, key, value, receiver); - if (target === toRaw(receiver)) { - if (!hadKey) { - trigger(target, "add", key, value); - } else if (hasChanged(value, oldValue)) { - trigger(target, "set", key, value); - } - } - return result; - }; -} -function deleteProperty(target, key) { - const hadKey = hasOwn$1(target, key); - target[key]; - const result = Reflect.deleteProperty(target, key); - if (result && hadKey) { - trigger(target, "delete", key, void 0); - } - return result; -} -function has(target, key) { - const result = Reflect.has(target, key); - if (!isSymbol(key) || !builtInSymbols.has(key)) { - track(target, "has", key); - } - return result; -} -function ownKeys(target) { - track(target, "iterate", isArray(target) ? "length" : ITERATE_KEY); - return Reflect.ownKeys(target); -} -const mutableHandlers = { - get, - set, - deleteProperty, - has, - ownKeys -}; -const readonlyHandlers = { - get: readonlyGet, - set(target, key) { - return true; - }, - deleteProperty(target, key) { - return true; - } -}; -extend({}, mutableHandlers, { - get: shallowGet, - set: shallowSet -}); -extend({}, readonlyHandlers, { - get: shallowReadonlyGet -}); -const toReactive = (value) => isObject$1(value) ? reactive(value) : value; -const toReadonly = (value) => isObject$1(value) ? readonly(value) : value; -const toShallow = (value) => value; -const getProto = (v2) => Reflect.getPrototypeOf(v2); -function get$1(target, key, isReadonly2 = false, isShallow = false) { - target = target["__v_raw"]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (key !== rawKey) { - !isReadonly2 && track(rawTarget, "get", key); - } - !isReadonly2 && track(rawTarget, "get", rawKey); - const {has: has2} = getProto(rawTarget); - const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive; - if (has2.call(rawTarget, key)) { - return wrap(target.get(key)); - } else if (has2.call(rawTarget, rawKey)) { - return wrap(target.get(rawKey)); - } -} -function has$1(key, isReadonly2 = false) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (key !== rawKey) { - !isReadonly2 && track(rawTarget, "has", key); - } - !isReadonly2 && track(rawTarget, "has", rawKey); - return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); -} -function size(target, isReadonly2 = false) { - target = target["__v_raw"]; - !isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY); - return Reflect.get(target, "size", target); -} -function add(value) { - value = toRaw(value); - const target = toRaw(this); - const proto = getProto(target); - const hadKey = proto.has.call(target, value); - if (!hadKey) { - target.add(value); - trigger(target, "add", value, value); - } - return this; -} -function set$1(key, value) { - value = toRaw(value); - const target = toRaw(this); - const {has: has2, get: get2} = getProto(target); - let hadKey = has2.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has2.call(target, key); - } - const oldValue = get2.call(target, key); - target.set(key, value); - if (!hadKey) { - trigger(target, "add", key, value); - } else if (hasChanged(value, oldValue)) { - trigger(target, "set", key, value); - } - return this; -} -function deleteEntry(key) { - const target = toRaw(this); - const {has: has2, get: get2} = getProto(target); - let hadKey = has2.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has2.call(target, key); - } - get2 ? get2.call(target, key) : void 0; - const result = target.delete(key); - if (hadKey) { - trigger(target, "delete", key, void 0); - } - return result; -} -function clear() { - const target = toRaw(this); - const hadItems = target.size !== 0; - const result = target.clear(); - if (hadItems) { - trigger(target, "clear", void 0, void 0); - } - return result; -} -function createForEach(isReadonly2, isShallow) { - return function forEach(callback, thisArg) { - const observed = this; - const target = observed["__v_raw"]; - const rawTarget = toRaw(target); - const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive; - !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY); - return target.forEach((value, key) => { - return callback.call(thisArg, wrap(value), wrap(key), observed); - }); - }; -} -function createIterableMethod(method, isReadonly2, isShallow) { - return function(...args) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const targetIsMap = isMap(rawTarget); - const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; - const isKeyOnly = method === "keys" && targetIsMap; - const innerIterator = target[method](...args); - const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive; - !isReadonly2 && track(rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY); - return { - next() { - const {value, done} = innerIterator.next(); - return done ? {value, done} : { - value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), - done - }; - }, - [Symbol.iterator]() { - return this; - } - }; - }; -} -function createReadonlyMethod(type) { - return function(...args) { - return type === "delete" ? false : this; - }; -} -const mutableInstrumentations = { - get(key) { - return get$1(this, key); - }, - get size() { - return size(this); - }, - has: has$1, - add, - set: set$1, - delete: deleteEntry, - clear, - forEach: createForEach(false, false) -}; -const shallowInstrumentations = { - get(key) { - return get$1(this, key, false, true); - }, - get size() { - return size(this); - }, - has: has$1, - add, - set: set$1, - delete: deleteEntry, - clear, - forEach: createForEach(false, true) -}; -const readonlyInstrumentations = { - get(key) { - return get$1(this, key, true); - }, - get size() { - return size(this, true); - }, - has(key) { - return has$1.call(this, key, true); - }, - add: createReadonlyMethod("add"), - set: createReadonlyMethod("set"), - delete: createReadonlyMethod("delete"), - clear: createReadonlyMethod("clear"), - forEach: createForEach(true, false) -}; -const shallowReadonlyInstrumentations = { - get(key) { - return get$1(this, key, true, true); - }, - get size() { - return size(this, true); - }, - has(key) { - return has$1.call(this, key, true); - }, - add: createReadonlyMethod("add"), - set: createReadonlyMethod("set"), - delete: createReadonlyMethod("delete"), - clear: createReadonlyMethod("clear"), - forEach: createForEach(true, true) -}; -const iteratorMethods = ["keys", "values", "entries", Symbol.iterator]; -iteratorMethods.forEach((method) => { - mutableInstrumentations[method] = createIterableMethod(method, false, false); - readonlyInstrumentations[method] = createIterableMethod(method, true, false); - shallowInstrumentations[method] = createIterableMethod(method, false, true); - shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true); -}); -function createInstrumentationGetter(isReadonly2, shallow) { - const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations; - return (target, key, receiver) => { - if (key === "__v_isReactive") { - return !isReadonly2; - } else if (key === "__v_isReadonly") { - return isReadonly2; - } else if (key === "__v_raw") { - return target; - } - return Reflect.get(hasOwn$1(instrumentations, key) && key in target ? instrumentations : target, key, receiver); - }; -} -const mutableCollectionHandlers = { - get: createInstrumentationGetter(false, false) -}; -const readonlyCollectionHandlers = { - get: createInstrumentationGetter(true, false) -}; -const reactiveMap = new WeakMap(); -const shallowReactiveMap = new WeakMap(); -const readonlyMap = new WeakMap(); -const shallowReadonlyMap = new WeakMap(); -function targetTypeMap(rawType) { - switch (rawType) { - case "Object": - case "Array": - return 1; - case "Map": - case "Set": - case "WeakMap": - case "WeakSet": - return 2; - default: - return 0; - } -} -function getTargetType(value) { - return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); -} -function reactive(target) { - if (target && target["__v_isReadonly"]) { - return target; - } - return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap); -} -function readonly(target) { - return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap); -} -function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { - if (!isObject$1(target)) { - return target; - } - if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { - return target; - } - const existingProxy = proxyMap.get(target); - if (existingProxy) { - return existingProxy; - } - const targetType = getTargetType(target); - if (targetType === 0) { - return target; - } - const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers); - proxyMap.set(target, proxy); - return proxy; -} -function isReactive(value) { - if (isReadonly(value)) { - return isReactive(value["__v_raw"]); - } - return !!(value && value["__v_isReactive"]); -} -function isReadonly(value) { - return !!(value && value["__v_isReadonly"]); -} -function toRaw(observed) { - return observed && toRaw(observed["__v_raw"]) || observed; -} -function isRef(r) { - return Boolean(r && r.__v_isRef === true); -} -function callWithErrorHandling(fn, instance2, type, args) { - let res; - try { - res = args ? fn(...args) : fn(); - } catch (err) { - handleError(err, instance2, type); - } - return res; -} -function callWithAsyncErrorHandling(fn, instance2, type, args) { - if (isFunction(fn)) { - const res = callWithErrorHandling(fn, instance2, type, args); - if (res && isPromise(res)) { - res.catch((err) => { - handleError(err, instance2, type); - }); - } - return res; - } - const values = []; - for (let i2 = 0; i2 < fn.length; i2++) { - values.push(callWithAsyncErrorHandling(fn[i2], instance2, type, args)); - } - return values; -} -function handleError(err, instance2, type, throwInDev = true) { - const contextVNode = instance2 ? instance2.vnode : null; - if (instance2) { - let cur = instance2.parent; - const exposedInstance = instance2.proxy; - const errorInfo = type; - while (cur) { - const errorCapturedHooks = cur.ec; - if (errorCapturedHooks) { - for (let i2 = 0; i2 < errorCapturedHooks.length; i2++) { - if (errorCapturedHooks[i2](err, exposedInstance, errorInfo) === false) { - return; - } - } - } - cur = cur.parent; - } - const appErrorHandler = instance2.appContext.config.errorHandler; - if (appErrorHandler) { - callWithErrorHandling(appErrorHandler, null, 10, [err, exposedInstance, errorInfo]); - return; - } - } - logError(err, type, contextVNode, throwInDev); -} -function logError(err, type, contextVNode, throwInDev = true) { - { - console.error(err); - } -} -let isFlushing = false; -let isFlushPending = false; -const queue = []; -let flushIndex = 0; -const pendingPreFlushCbs = []; -let activePreFlushCbs = null; -let preFlushIndex = 0; -const pendingPostFlushCbs = []; -let activePostFlushCbs = null; -let postFlushIndex = 0; -const resolvedPromise = Promise.resolve(); -let currentFlushPromise = null; -let currentPreFlushParentJob = null; -const RECURSION_LIMIT = 100; -function nextTick(fn) { - const p2 = currentFlushPromise || resolvedPromise; - return fn ? p2.then(this ? fn.bind(this) : fn) : p2; -} -function findInsertionIndex(job) { - let start = flushIndex + 1; - let end = queue.length; - const jobId = getId(job); - while (start < end) { - const middle = start + end >>> 1; - const middleJobId = getId(queue[middle]); - middleJobId < jobId ? start = middle + 1 : end = middle; - } - return start; -} -function queueJob(job) { - if ((!queue.length || !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) && job !== currentPreFlushParentJob) { - const pos = findInsertionIndex(job); - if (pos > -1) { - queue.splice(pos, 0, job); - } else { - queue.push(job); - } - queueFlush(); - } -} -function queueFlush() { - if (!isFlushing && !isFlushPending) { - isFlushPending = true; - currentFlushPromise = resolvedPromise.then(flushJobs); - } -} -function queueCb(cb, activeQueue, pendingQueue, index2) { - if (!isArray(cb)) { - if (!activeQueue || !activeQueue.includes(cb, cb.allowRecurse ? index2 + 1 : index2)) { - pendingQueue.push(cb); - } - } else { - pendingQueue.push(...cb); - } - queueFlush(); -} -function queuePreFlushCb(cb) { - queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex); -} -function queuePostFlushCb(cb) { - queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex); -} -function flushPreFlushCbs(seen, parentJob = null) { - if (pendingPreFlushCbs.length) { - currentPreFlushParentJob = parentJob; - activePreFlushCbs = [...new Set(pendingPreFlushCbs)]; - pendingPreFlushCbs.length = 0; - for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) { - activePreFlushCbs[preFlushIndex](); - } - activePreFlushCbs = null; - preFlushIndex = 0; - currentPreFlushParentJob = null; - flushPreFlushCbs(seen, parentJob); - } -} -function flushPostFlushCbs(seen) { - if (pendingPostFlushCbs.length) { - const deduped = [...new Set(pendingPostFlushCbs)]; - pendingPostFlushCbs.length = 0; - if (activePostFlushCbs) { - activePostFlushCbs.push(...deduped); - return; - } - activePostFlushCbs = deduped; - activePostFlushCbs.sort((a2, b) => getId(a2) - getId(b)); - for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { - activePostFlushCbs[postFlushIndex](); - } - activePostFlushCbs = null; - postFlushIndex = 0; - } -} -const getId = (job) => job.id == null ? Infinity : job.id; -function flushJobs(seen) { - isFlushPending = false; - isFlushing = true; - flushPreFlushCbs(seen); - queue.sort((a2, b) => getId(a2) - getId(b)); - try { - for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { - const job = queue[flushIndex]; - if (job) { - if (false) - ; - callWithErrorHandling(job, null, 14); - } - } - } finally { - flushIndex = 0; - queue.length = 0; - flushPostFlushCbs(); - isFlushing = false; - currentFlushPromise = null; - if (queue.length || pendingPostFlushCbs.length) { - flushJobs(seen); - } - } -} -function checkRecursiveUpdates(seen, fn) { - if (!seen.has(fn)) { - seen.set(fn, 1); - } else { - const count = seen.get(fn); - if (count > RECURSION_LIMIT) { - throw new Error(`Maximum recursive updates exceeded. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`); - } else { - seen.set(fn, count + 1); - } - } -} -function queueEffectWithSuspense(fn, suspense) { - if (suspense && suspense.pendingBranch) { - if (isArray(fn)) { - suspense.effects.push(...fn); - } else { - suspense.effects.push(fn); - } - } else { - queuePostFlushCb(fn); - } -} -function injectHook(type, hook, target = currentInstance, prepend = false) { - if (target) { - const hooks = target[type] || (target[type] = []); - const wrappedHook = hook.__weh || (hook.__weh = (...args) => { - if (target.isUnmounted) { - return; - } - pauseTracking(); - setCurrentInstance(target); - const res = callWithAsyncErrorHandling(hook, target, type, args); - setCurrentInstance(null); - resetTracking(); - return res; - }); - if (prepend) { - hooks.unshift(wrappedHook); - } else { - hooks.push(wrappedHook); - } - return wrappedHook; - } -} -const createHook = (lifecycle) => (hook, target = currentInstance) => injectHook(lifecycle, hook, target); -const onBeforeUnmount = createHook("bum"); -const INITIAL_WATCHER_VALUE = {}; -function doWatch(source, cb, {immediate, deep, flush, onTrack, onTrigger} = EMPTY_OBJ, instance2 = currentInstance) { - let getter; - let forceTrigger = false; - if (isRef(source)) { - getter = () => source.value; - forceTrigger = !!source._shallow; - } else if (isReactive(source)) { - getter = () => source; - deep = true; - } else if (isArray(source)) { - getter = () => source.map((s) => { - if (isRef(s)) { - return s.value; - } else if (isReactive(s)) { - return traverse(s); - } else if (isFunction(s)) { - return callWithErrorHandling(s, instance2, 2, [ - instance2 && instance2.proxy - ]); - } else - ; - }); - } else if (isFunction(source)) { - if (cb) { - getter = () => callWithErrorHandling(source, instance2, 2, [ - instance2 && instance2.proxy - ]); - } else { - getter = () => { - if (instance2 && instance2.isUnmounted) { - return; - } - if (cleanup2) { - cleanup2(); - } - return callWithAsyncErrorHandling(source, instance2, 3, [onInvalidate]); - }; - } - } else { - getter = NOOP; - } - if (cb && deep) { - const baseGetter = getter; - getter = () => traverse(baseGetter()); - } - let cleanup2; - let onInvalidate = (fn) => { - cleanup2 = runner.options.onStop = () => { - callWithErrorHandling(fn, instance2, 4); - }; - }; - let oldValue = isArray(source) ? [] : INITIAL_WATCHER_VALUE; - const job = () => { - if (!runner.active) { - return; - } - if (cb) { - const newValue = runner(); - if (deep || forceTrigger || hasChanged(newValue, oldValue)) { - if (cleanup2) { - cleanup2(); - } - callWithAsyncErrorHandling(cb, instance2, 3, [ - newValue, - oldValue === INITIAL_WATCHER_VALUE ? void 0 : oldValue, - onInvalidate - ]); - oldValue = newValue; - } - } else { - runner(); - } - }; - job.allowRecurse = !!cb; - let scheduler; - if (flush === "sync") { - scheduler = job; - } else if (flush === "post") { - scheduler = () => queuePostRenderEffect(job, instance2 && instance2.suspense); - } else { - scheduler = () => { - if (!instance2 || instance2.isMounted) { - queuePreFlushCb(job); - } else { - job(); - } - }; - } - const runner = effect(getter, { - lazy: true, - onTrack, - onTrigger, - scheduler - }); - recordInstanceBoundEffect(runner, instance2); - if (cb) { - if (immediate) { - job(); - } else { - oldValue = runner(); - } - } else if (flush === "post") { - queuePostRenderEffect(runner, instance2 && instance2.suspense); - } else { - runner(); - } - return () => { - stop(runner); - if (instance2) { - remove(instance2.effects, runner); - } - }; -} -function instanceWatch(source, cb, options) { - const publicThis = this.proxy; - const getter = isString(source) ? () => publicThis[source] : source.bind(publicThis); - return doWatch(getter, cb.bind(publicThis), options, this); -} -function traverse(value, seen = new Set()) { - if (!isObject$1(value) || seen.has(value)) { - return value; - } - seen.add(value); - if (isRef(value)) { - traverse(value.value, seen); - } else if (isArray(value)) { - for (let i2 = 0; i2 < value.length; i2++) { - traverse(value[i2], seen); - } - } else if (isSet(value) || isMap(value)) { - value.forEach((v2) => { - traverse(v2, seen); - }); - } else { - for (const key in value) { - traverse(value[key], seen); - } - } - return value; -} -const queuePostRenderEffect = queueEffectWithSuspense; -function resolveMergedOptions(instance2) { - const raw = instance2.type; - const {__merged, mixins, extends: extendsOptions} = raw; - if (__merged) - return __merged; - const globalMixins = instance2.appContext.mixins; - if (!globalMixins.length && !mixins && !extendsOptions) - return raw; - const options = {}; - globalMixins.forEach((m) => mergeOptions(options, m, instance2)); - mergeOptions(options, raw, instance2); - return raw.__merged = options; -} -function mergeOptions(to, from, instance2) { - const strats = instance2.appContext.config.optionMergeStrategies; - const {mixins, extends: extendsOptions} = from; - extendsOptions && mergeOptions(to, extendsOptions, instance2); - mixins && mixins.forEach((m) => mergeOptions(to, m, instance2)); - for (const key in from) { - if (strats && hasOwn$1(strats, key)) { - to[key] = strats[key](to[key], from[key], instance2.proxy, key); - } else { - to[key] = from[key]; - } - } -} -const getPublicInstance = (i2) => { - if (!i2) - return null; - if (isStatefulComponent(i2)) - return i2.exposed ? i2.exposed : i2.proxy; - return getPublicInstance(i2.parent); -}; -const publicPropertiesMap = extend(Object.create(null), { - $: (i2) => i2, - $el: (i2) => i2.vnode.el, - $data: (i2) => i2.data, - $props: (i2) => i2.props, - $attrs: (i2) => i2.attrs, - $slots: (i2) => i2.slots, - $refs: (i2) => i2.refs, - $parent: (i2) => getPublicInstance(i2.parent), - $root: (i2) => getPublicInstance(i2.root), - $emit: (i2) => i2.emit, - $options: (i2) => resolveMergedOptions(i2), - $forceUpdate: (i2) => () => queueJob(i2.update), - $nextTick: (i2) => nextTick.bind(i2.proxy), - $watch: (i2) => instanceWatch.bind(i2) -}); -const PublicInstanceProxyHandlers = { - get({_: instance2}, key) { - const {ctx, setupState, data, props: props2, accessCache, type, appContext} = instance2; - if (key === "__v_skip") { - return true; - } - let normalizedProps; - if (key[0] !== "$") { - const n = accessCache[key]; - if (n !== void 0) { - switch (n) { - case 0: - return setupState[key]; - case 1: - return data[key]; - case 3: - return ctx[key]; - case 2: - return props2[key]; - } - } else if (setupState !== EMPTY_OBJ && hasOwn$1(setupState, key)) { - accessCache[key] = 0; - return setupState[key]; - } else if (data !== EMPTY_OBJ && hasOwn$1(data, key)) { - accessCache[key] = 1; - return data[key]; - } else if ((normalizedProps = instance2.propsOptions[0]) && hasOwn$1(normalizedProps, key)) { - accessCache[key] = 2; - return props2[key]; - } else if (ctx !== EMPTY_OBJ && hasOwn$1(ctx, key)) { - accessCache[key] = 3; - return ctx[key]; - } else { - accessCache[key] = 4; - } - } - const publicGetter = publicPropertiesMap[key]; - let cssModule, globalProperties; - if (publicGetter) { - if (key === "$attrs") { - track(instance2, "get", key); - } - return publicGetter(instance2); - } else if ((cssModule = type.__cssModules) && (cssModule = cssModule[key])) { - return cssModule; - } else if (ctx !== EMPTY_OBJ && hasOwn$1(ctx, key)) { - accessCache[key] = 3; - return ctx[key]; - } else if (globalProperties = appContext.config.globalProperties, hasOwn$1(globalProperties, key)) { - return globalProperties[key]; - } else - ; - }, - set({_: instance2}, key, value) { - const {data, setupState, ctx} = instance2; - if (setupState !== EMPTY_OBJ && hasOwn$1(setupState, key)) { - setupState[key] = value; - } else if (data !== EMPTY_OBJ && hasOwn$1(data, key)) { - data[key] = value; - } else if (hasOwn$1(instance2.props, key)) { - return false; - } - if (key[0] === "$" && key.slice(1) in instance2) { - return false; - } else { - { - ctx[key] = value; - } - } - return true; - }, - has({_: {data, setupState, accessCache, ctx, appContext, propsOptions}}, key) { - let normalizedProps; - return accessCache[key] !== void 0 || data !== EMPTY_OBJ && hasOwn$1(data, key) || setupState !== EMPTY_OBJ && hasOwn$1(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn$1(normalizedProps, key) || hasOwn$1(ctx, key) || hasOwn$1(publicPropertiesMap, key) || hasOwn$1(appContext.config.globalProperties, key); - } -}; -extend({}, PublicInstanceProxyHandlers, { - get(target, key) { - if (key === Symbol.unscopables) { - return; - } - return PublicInstanceProxyHandlers.get(target, key, target); - }, - has(_, key) { - const has2 = key[0] !== "_" && !isGloballyWhitelisted(key); - return has2; - } -}); -let currentInstance = null; -const setCurrentInstance = (instance2) => { - currentInstance = instance2; -}; -function isStatefulComponent(instance2) { - return instance2.vnode.shapeFlag & 4; -} -function recordInstanceBoundEffect(effect2, instance2 = currentInstance) { - if (instance2) { - (instance2.effects || (instance2.effects = [])).push(effect2); - } -} -const svgNS = "http://www.w3.org/2000/svg"; -const doc = typeof document !== "undefined" ? document : null; -let tempContainer; -let tempSVGContainer; -const nodeOps = { - insert: (child, parent, anchor) => { - parent.insertBefore(child, anchor || null); - }, - remove: (child) => { - const parent = child.parentNode; - if (parent) { - parent.removeChild(child); - } - }, - createElement: (tag, isSVG, is, props2) => { - const el = isSVG ? doc.createElementNS(svgNS, tag) : doc.createElement(tag, is ? {is} : void 0); - if (tag === "select" && props2 && props2.multiple != null) { - el.setAttribute("multiple", props2.multiple); - } - return el; - }, - createText: (text2) => doc.createTextNode(text2), - createComment: (text2) => doc.createComment(text2), - setText: (node, text2) => { - node.nodeValue = text2; - }, - setElementText: (el, text2) => { - el.textContent = text2; - }, - parentNode: (node) => node.parentNode, - nextSibling: (node) => node.nextSibling, - querySelector: (selector) => doc.querySelector(selector), - setScopeId(el, id2) { - el.setAttribute(id2, ""); - }, - cloneNode(el) { - const cloned = el.cloneNode(true); - if (`_value` in el) { - cloned._value = el._value; - } - return cloned; - }, - insertStaticContent(content, parent, anchor, isSVG) { - const temp = isSVG ? tempSVGContainer || (tempSVGContainer = doc.createElementNS(svgNS, "svg")) : tempContainer || (tempContainer = doc.createElement("div")); - temp.innerHTML = content; - const first = temp.firstChild; - let node = first; - let last = node; - while (node) { - last = node; - nodeOps.insert(node, parent, anchor); - node = temp.firstChild; - } - return [first, last]; - } -}; -function patchClass(el, value, isSVG) { - if (value == null) { - value = ""; - } - if (isSVG) { - el.setAttribute("class", value); - } else { - const transitionClasses = el._vtc; - if (transitionClasses) { - value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" "); - } - el.className = value; - } -} -function patchStyle(el, prev, next) { - const style2 = el.style; - if (!next) { - el.removeAttribute("style"); - } else if (isString(next)) { - if (prev !== next) { - const current = style2.display; - style2.cssText = normalizeRpx(next); - if ("_vod" in el) { - style2.display = current; - } - } - } else { - for (const key in next) { - setStyle(style2, key, next[key]); - } - if (prev && !isString(prev)) { - for (const key in prev) { - if (next[key] == null) { - setStyle(style2, key, ""); - } - } - } - } -} -const importantRE = /\s*!important$/; -function setStyle(style2, name, val) { - if (isArray(val)) { - val.forEach((v2) => setStyle(style2, name, v2)); - } else { - val = normalizeRpx(val); - if (name.startsWith("--")) { - style2.setProperty(name, val); - } else { - const prefixed = autoPrefix(style2, name); - if (importantRE.test(val)) { - style2.setProperty(hyphenate(prefixed), val.replace(importantRE, ""), "important"); - } else { - style2[prefixed] = val; - } - } - } -} -const prefixes = ["Webkit", "Moz", "ms"]; -const prefixCache = {}; -function autoPrefix(style2, rawName) { - const cached = prefixCache[rawName]; - if (cached) { - return cached; - } - let name = camelize(rawName); - if (name !== "filter" && name in style2) { - return prefixCache[rawName] = name; - } - name = capitalize(name); - for (let i2 = 0; i2 < prefixes.length; i2++) { - const prefixed = prefixes[i2] + name; - if (prefixed in style2) { - return prefixCache[rawName] = prefixed; - } - } - return rawName; -} -const rpxRE = /\b([+-]?\d+(\.\d+)?)[r|u]px\b/g; -const normalizeRpx = (val) => { - if (isString(val)) { - return val.replace(rpxRE, (a2, b) => { - return rpx2px(b) + "px"; - }); - } - return val; -}; -const xlinkNS = "http://www.w3.org/1999/xlink"; -function patchAttr(el, key, value, isSVG) { - if (isSVG && key.startsWith("xlink:")) { - if (value == null) { - el.removeAttributeNS(xlinkNS, key.slice(6, key.length)); - } else { - el.setAttributeNS(xlinkNS, key, value); - } - } else { - const isBoolean2 = isSpecialBooleanAttr(key); - if (value == null || isBoolean2 && value === false) { - el.removeAttribute(key); - } else { - el.setAttribute(key, isBoolean2 ? "" : value); - } - } -} -function patchDOMProp(el, key, value, prevChildren, parentComponent, parentSuspense, unmountChildren) { - if (key === "innerHTML" || key === "textContent") { - if (prevChildren) { - unmountChildren(prevChildren, parentComponent, parentSuspense); - } - el[key] = value == null ? "" : value; - return; - } - if (key === "value" && el.tagName !== "PROGRESS") { - el._value = value; - const newValue = value == null ? "" : value; - if (el.value !== newValue) { - el.value = newValue; - } - return; - } - if (value === "" || value == null) { - const type = typeof el[key]; - if (value === "" && type === "boolean") { - el[key] = true; - return; - } else if (value == null && type === "string") { - el[key] = ""; - el.removeAttribute(key); - return; - } else if (type === "number") { - el[key] = 0; - el.removeAttribute(key); - return; - } - } - try { - el[key] = value; - } catch (e2) { - } -} -let _getNow = Date.now; -if (typeof document !== "undefined" && _getNow() > document.createEvent("Event").timeStamp) { - _getNow = () => performance.now(); -} -let cachedNow = 0; -const p = Promise.resolve(); -const reset = () => { - cachedNow = 0; -}; -const getNow = () => cachedNow || (p.then(reset), cachedNow = _getNow()); -function addEventListener(el, event2, handler, options) { - el.addEventListener(event2, handler, options); -} -function removeEventListener(el, event2, handler, options) { - el.removeEventListener(event2, handler, options); -} -function patchEvent(el, rawName, prevValue, nextValue, instance2 = null) { - const invokers = el._vei || (el._vei = {}); - const existingInvoker = invokers[rawName]; - if (nextValue && existingInvoker) { - existingInvoker.value = nextValue; - } else { - const [name, options] = parseName(rawName); - if (nextValue) { - const invoker = invokers[rawName] = createInvoker(nextValue, instance2); - addEventListener(el, name, invoker, options); - } else if (existingInvoker) { - removeEventListener(el, name, existingInvoker, options); - invokers[rawName] = void 0; - } - } -} -const optionsModifierRE = /(?:Once|Passive|Capture)$/; -function parseName(name) { - let options; - if (optionsModifierRE.test(name)) { - options = {}; - let m; - while (m = name.match(optionsModifierRE)) { - name = name.slice(0, name.length - m[0].length); - options[m[0].toLowerCase()] = true; - } - } - return [hyphenate(name.slice(2)), options]; -} -function createInvoker(initialValue, instance2) { - const invoker = (e2) => { - const timeStamp = e2.timeStamp || _getNow(); - if (timeStamp >= invoker.attached - 1) { - const proxy = instance2 && instance2.proxy; - const normalizeNativeEvent = proxy && proxy.$normalizeNativeEvent; - callWithAsyncErrorHandling(patchStopImmediatePropagation(e2, invoker.value), instance2, 5, [normalizeNativeEvent ? normalizeNativeEvent(e2) : e2]); - } - }; - invoker.value = initialValue; - invoker.attached = getNow(); - return invoker; -} -function patchStopImmediatePropagation(e2, value) { - if (isArray(value)) { - const originalStop = e2.stopImmediatePropagation; - e2.stopImmediatePropagation = () => { - originalStop.call(e2); - e2._stopped = true; - }; - return value.map((fn) => (e3) => !e3._stopped && fn(e3)); - } else { - return value; - } -} -const nativeOnRE = /^on[a-z]/; -const forcePatchProp = (_, key) => key === "value"; -const patchProp = (el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) => { - switch (key) { - case "class": - patchClass(el, nextValue, isSVG); - break; - case "style": - patchStyle(el, prevValue, nextValue); - break; - default: - if (isOn(key)) { - if (!isModelListener(key)) { - patchEvent(el, key, prevValue, nextValue, parentComponent); - } - } else if (shouldSetAsProp(el, key, nextValue, isSVG)) { - patchDOMProp(el, key, nextValue, prevChildren, parentComponent, parentSuspense, unmountChildren); - } else { - if (key === "true-value") { - el._trueValue = nextValue; - } else if (key === "false-value") { - el._falseValue = nextValue; - } - patchAttr(el, key, nextValue, isSVG); - } - break; - } -}; -function shouldSetAsProp(el, key, value, isSVG) { - if (isSVG) { - if (key === "innerHTML") { - return true; - } - if (key in el && nativeOnRE.test(key) && isFunction(value)) { - return true; - } - return false; - } - if (key === "spellcheck" || key === "draggable") { - return false; - } - if (key === "form") { - return false; - } - if (key === "list" && el.tagName === "INPUT") { - return false; - } - if (key === "type" && el.tagName === "TEXTAREA") { - return false; - } - if (nativeOnRE.test(key) && isString(value)) { - return false; - } - return key in el; -} -extend({patchProp, forcePatchProp}, nodeOps); function formatTime(val) { val = val > 0 && val < Infinity ? val : 0; const h = Math.floor(val / 3600); @@ -11512,7 +10111,7 @@ function formatTime(val) { return str; } function useGesture(props2, videoRef, fullscreenState) { - const state = reactive$1({ + const state = reactive({ gestureType: "none", volumeOld: 0, volumeNew: 0, @@ -11532,12 +10131,12 @@ function useGesture(props2, videoRef, fullscreenState) { state.currentTimeOld = state.currentTimeNew = 0; } function onTouchmove(event2) { - function stop2() { + function stop() { event2.stopPropagation(); event2.preventDefault(); } if (fullscreenState.fullscreen) { - stop2(); + stop(); } const gestureType = state.gestureType; if (gestureType === "stop") { @@ -11564,7 +10163,7 @@ function useGesture(props2, videoRef, fullscreenState) { state.gestureType = "progress"; state.currentTimeOld = state.currentTimeNew = video.currentTime; if (!fullscreenState.fullscreen) { - stop2(); + stop(); } } else { if (!props2.pageGesture) { @@ -11574,7 +10173,7 @@ function useGesture(props2, videoRef, fullscreenState) { state.gestureType = "volume"; state.volumeOld = video.volume; if (!fullscreenState.fullscreen) { - stop2(); + stop(); } } } @@ -11622,8 +10221,8 @@ function useGesture(props2, videoRef, fullscreenState) { onTouchend }; } -function useFullscreen(trigger2, containerRef, videoRef, userActionState, rootRef) { - const state = reactive$1({ +function useFullscreen(trigger, containerRef, videoRef, userActionState, rootRef) { + const state = reactive({ fullscreen: false }); const isSafari = /^Apple/.test(navigator.vendor); @@ -11635,7 +10234,7 @@ function useFullscreen(trigger2, containerRef, videoRef, userActionState, rootRe } function emitFullscreenChange(val) { state.fullscreen = val; - trigger2("fullscreenchange", {}, { + trigger("fullscreenchange", {}, { fullScreen: val, direction: "vertical" }); @@ -11692,10 +10291,10 @@ function useFullscreen(trigger2, containerRef, videoRef, userActionState, rootRe exitFullScreen }; } -function useVideo(props2, attrs2, trigger2) { +function useVideo(props2, attrs2, trigger) { const videoRef = ref(null); const src = computed(() => getRealPath(props2.src)); - const state = reactive$1({ + const state = reactive({ start: false, src, playing: false, @@ -11709,7 +10308,7 @@ function useVideo(props2, attrs2, trigger2) { state.currentTime = 0; }); watch(() => state.buffered, (buffered) => { - trigger2("progress", {}, { + trigger("progress", {}, { buffered }); }); @@ -11734,7 +10333,7 @@ function useVideo(props2, attrs2, trigger2) { if (initialTime > 0) { video.currentTime = initialTime; } - trigger2("loadedmetadata", $event, { + trigger("loadedmetadata", $event, { width: video.videoWidth, height: video.videoHeight, duration: video.duration @@ -11749,29 +10348,29 @@ function useVideo(props2, attrs2, trigger2) { } } function onWaiting($event) { - trigger2("waiting", $event, {}); + trigger("waiting", $event, {}); } function onVideoError($event) { state.playing = false; - trigger2("error", $event, {}); + trigger("error", $event, {}); } function onPlay($event) { state.start = true; state.playing = true; - trigger2("play", $event, {}); + trigger("play", $event, {}); } function onPause($event) { state.playing = false; - trigger2("pause", $event, {}); + trigger("pause", $event, {}); } function onEnded($event) { state.playing = false; - trigger2("ended", $event, {}); + trigger("ended", $event, {}); } function onTimeUpdate($event) { const video = $event.target; const currentTime = state.currentTime = video.currentTime; - trigger2("timeupdate", $event, { + trigger("timeupdate", $event, { currentTime, duration: video.duration }); @@ -11830,7 +10429,7 @@ function useControls(props2, videoState, seek) { const centerPlayBtnShow = computed(() => props2.showCenterPlayBtn && !videoState.start); const controlsVisible = ref(true); const controlsShow = computed(() => !centerPlayBtnShow.value && props2.controls && controlsVisible.value); - const state = reactive$1({ + const state = reactive({ touching: false, controlsTouching: false, centerPlayBtnShow, @@ -11951,7 +10550,7 @@ function useControls(props2, videoState, seek) { } function useDanmu(props2, videoState) { const danmuRef = ref(null); - const state = reactive$1({ + const state = reactive({ enable: Boolean(props2.enableDanmu) }); let danmuIndex = { @@ -12151,7 +10750,7 @@ var index$1 = /* @__PURE__ */ defineComponent({ }) { const rootRef = ref(null); const containerRef = ref(null); - const trigger2 = useCustomEvent(rootRef, emit); + const trigger = useCustomEvent(rootRef, emit); const { state: userActionState } = useUserAction(); @@ -12177,7 +10776,7 @@ var index$1 = /* @__PURE__ */ defineComponent({ onPause, onEnded, onTimeUpdate - } = useVideo(props2, attrs2, trigger2); + } = useVideo(props2, attrs2, trigger); const { state: danmuState, danmuRef, @@ -12192,7 +10791,7 @@ var index$1 = /* @__PURE__ */ defineComponent({ toggleFullscreen, requestFullScreen, exitFullScreen - } = useFullscreen(trigger2, containerRef, videoRef, userActionState, rootRef); + } = useFullscreen(trigger, containerRef, videoRef, userActionState, rootRef); const { state: gestureState, onTouchstart, @@ -12724,7 +11323,7 @@ const startAccelerometer = defineAsyncApi(API_START_ACCELEROMETER, (_, {resolve, reject(); return; } - function addEventListener2() { + function addEventListener() { listener$1 = function(event2) { const acceleration = event2.acceleration || event2.accelerationIncludingGravity; UniServiceJSBridge.invokeOnCallback(API_ON_ACCELEROMETER, { @@ -12739,7 +11338,7 @@ const startAccelerometer = defineAsyncApi(API_START_ACCELEROMETER, (_, {resolve, if (DeviceMotionEvent.requestPermission) { DeviceMotionEvent.requestPermission().then((res) => { if (res === "granted") { - addEventListener2(); + addEventListener(); resolve(); } else { reject(`${res}`); @@ -12749,7 +11348,7 @@ const startAccelerometer = defineAsyncApi(API_START_ACCELEROMETER, (_, {resolve, }); return; } - addEventListener2(); + addEventListener(); } resolve(); }); @@ -12772,7 +11371,7 @@ const startCompass = defineAsyncApi(API_START_COMPASS, (_, {resolve, reject}) => reject(); return; } - function addEventListener2() { + function addEventListener() { listener = function(event2) { const direction2 = 360 - (event2.alpha !== null ? event2.alpha : 360); UniServiceJSBridge.invokeOnCallback(API_ON_COMPASS, { @@ -12785,7 +11384,7 @@ const startCompass = defineAsyncApi(API_START_COMPASS, (_, {resolve, reject}) => if (DeviceOrientationEvent.requestPermission) { DeviceOrientationEvent.requestPermission().then((res) => { if (res === "granted") { - addEventListener2(); + addEventListener(); resolve(); } else { reject(`${res}`); @@ -12795,7 +11394,7 @@ const startCompass = defineAsyncApi(API_START_COMPASS, (_, {resolve, reject}) => }); return; } - addEventListener2(); + addEventListener(); } resolve(); }); diff --git a/packages/uni-h5/src/view/components/video/index.tsx b/packages/uni-h5/src/view/components/video/index.tsx index dbebb3409a58f0b5707d70bda0e7a411d155471b..ea4865dd567f071a05d15f368d166cad7d87f717 100644 --- a/packages/uni-h5/src/view/components/video/index.tsx +++ b/packages/uni-h5/src/view/components/video/index.tsx @@ -9,6 +9,7 @@ import { onMounted, SetupContext, renderList, + onBeforeUnmount, } from 'vue' import { passive } from '@dcloudio/uni-shared' import { useI18n, initI18nVideoMsgsOnce } from '@dcloudio/uni-core' @@ -16,7 +17,6 @@ import { getRealPath } from '@dcloudio/uni-platform' import { useSubscribe } from '@dcloudio/uni-components' import { useCustomEvent } from '@dcloudio/uni-components' import { useUserAction } from '@dcloudio/uni-components' -import { onBeforeUnmount } from '@dcloudio/uni-h5-vue/src' type CustomEventTrigger = ReturnType type UserActionState = ReturnType['state']