@vue/compat 3.4.0-alpha.3 → 3.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,8 +8,8 @@ const EMPTY_ARR = Object.freeze([]) ;
8
8
  const NOOP = () => {
9
9
  };
10
10
  const NO = () => false;
11
- const onRE = /^on[^a-z]/;
12
- const isOn = (key) => onRE.test(key);
11
+ const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter
12
+ (key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);
13
13
  const isModelListener = (key) => key.startsWith("onUpdate:");
14
14
  const extend = Object.assign;
15
15
  const remove = (arr, el) => {
@@ -94,7 +94,7 @@ const getGlobalThis = () => {
94
94
  return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
95
95
  };
96
96
 
97
- const GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console";
97
+ const GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error";
98
98
  const isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);
99
99
 
100
100
  function normalizeStyle(value) {
@@ -127,6 +127,20 @@ function parseStringStyle(cssText) {
127
127
  });
128
128
  return ret;
129
129
  }
130
+ function stringifyStyle(styles) {
131
+ let ret = "";
132
+ if (!styles || isString(styles)) {
133
+ return ret;
134
+ }
135
+ for (const key in styles) {
136
+ const value = styles[key];
137
+ const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);
138
+ if (isString(value) || typeof value === "number") {
139
+ ret += `${normalizedKey}:${value};`;
140
+ }
141
+ }
142
+ return ret;
143
+ }
130
144
  function normalizeClass(value) {
131
145
  let res = "";
132
146
  if (isString(value)) {
@@ -162,14 +176,25 @@ function normalizeProps(props) {
162
176
 
163
177
  const HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot";
164
178
  const SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view";
179
+ const MATH_TAGS = "math,maction,annotation,annotation-xml,menclose,merror,mfenced,mfrac,mi,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,semantics,mspace,msqrt,mstyle,msub,msup,msubsup,mtable,mtd,mtext,mtr,munder,munderover";
165
180
  const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);
166
181
  const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);
182
+ const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);
167
183
 
168
184
  const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
169
185
  const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
186
+ const isBooleanAttr = /* @__PURE__ */ makeMap(
187
+ specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`
188
+ );
170
189
  function includeBooleanAttr(value) {
171
190
  return !!value || value === "";
172
191
  }
192
+ const isKnownHtmlAttr = /* @__PURE__ */ makeMap(
193
+ `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`
194
+ );
195
+ const isKnownSvgAttr = /* @__PURE__ */ makeMap(
196
+ `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`
197
+ );
173
198
 
174
199
  function looseCompareArrays(a, b) {
175
200
  if (a.length !== b.length)
@@ -231,20 +256,29 @@ const replacer = (_key, val) => {
231
256
  return replacer(_key, val.value);
232
257
  } else if (isMap(val)) {
233
258
  return {
234
- [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => {
235
- entries[`${key} =>`] = val2;
236
- return entries;
237
- }, {})
259
+ [`Map(${val.size})`]: [...val.entries()].reduce(
260
+ (entries, [key, val2], i) => {
261
+ entries[stringifySymbol(key, i) + " =>"] = val2;
262
+ return entries;
263
+ },
264
+ {}
265
+ )
238
266
  };
239
267
  } else if (isSet(val)) {
240
268
  return {
241
- [`Set(${val.size})`]: [...val.values()]
269
+ [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))
242
270
  };
271
+ } else if (isSymbol(val)) {
272
+ return stringifySymbol(val);
243
273
  } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {
244
274
  return String(val);
245
275
  }
246
276
  return val;
247
277
  };
278
+ const stringifySymbol = (v, i = "") => {
279
+ var _a;
280
+ return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;
281
+ };
248
282
 
249
283
  function warn$1(msg, ...args) {
250
284
  console.warn(`[Vue warn] ${msg}`, ...args);
@@ -693,8 +727,13 @@ class BaseReactiveHandler {
693
727
  return isReadonly2;
694
728
  } else if (key === "__v_isShallow") {
695
729
  return shallow;
696
- } else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {
697
- return target;
730
+ } else if (key === "__v_raw") {
731
+ if (receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype
732
+ // this means the reciever is a user proxy of the reactive proxy
733
+ Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {
734
+ return target;
735
+ }
736
+ return;
698
737
  }
699
738
  const targetIsArray = isArray(target);
700
739
  if (!isReadonly2) {
@@ -730,17 +769,19 @@ class MutableReactiveHandler extends BaseReactiveHandler {
730
769
  }
731
770
  set(target, key, value, receiver) {
732
771
  let oldValue = target[key];
733
- if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {
734
- return false;
735
- }
736
772
  if (!this._shallow) {
773
+ const isOldValueReadonly = isReadonly(oldValue);
737
774
  if (!isShallow(value) && !isReadonly(value)) {
738
775
  oldValue = toRaw(oldValue);
739
776
  value = toRaw(value);
740
777
  }
741
778
  if (!isArray(target) && isRef(oldValue) && !isRef(value)) {
742
- oldValue.value = value;
743
- return true;
779
+ if (isOldValueReadonly) {
780
+ return false;
781
+ } else {
782
+ oldValue.value = value;
783
+ return true;
784
+ }
744
785
  }
745
786
  }
746
787
  const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);
@@ -1433,6 +1474,18 @@ function propertyToRef(source, key, defaultValue) {
1433
1474
  return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);
1434
1475
  }
1435
1476
 
1477
+ const TrackOpTypes = {
1478
+ "GET": "get",
1479
+ "HAS": "has",
1480
+ "ITERATE": "iterate"
1481
+ };
1482
+ const TriggerOpTypes = {
1483
+ "SET": "set",
1484
+ "ADD": "add",
1485
+ "DELETE": "delete",
1486
+ "CLEAR": "clear"
1487
+ };
1488
+
1436
1489
  const stack = [];
1437
1490
  function pushWarningContext(vnode) {
1438
1491
  stack.push(vnode);
@@ -1547,6 +1600,38 @@ function assertNumber(val, type) {
1547
1600
  }
1548
1601
  }
1549
1602
 
1603
+ const ErrorCodes = {
1604
+ "SETUP_FUNCTION": 0,
1605
+ "0": "SETUP_FUNCTION",
1606
+ "RENDER_FUNCTION": 1,
1607
+ "1": "RENDER_FUNCTION",
1608
+ "WATCH_GETTER": 2,
1609
+ "2": "WATCH_GETTER",
1610
+ "WATCH_CALLBACK": 3,
1611
+ "3": "WATCH_CALLBACK",
1612
+ "WATCH_CLEANUP": 4,
1613
+ "4": "WATCH_CLEANUP",
1614
+ "NATIVE_EVENT_HANDLER": 5,
1615
+ "5": "NATIVE_EVENT_HANDLER",
1616
+ "COMPONENT_EVENT_HANDLER": 6,
1617
+ "6": "COMPONENT_EVENT_HANDLER",
1618
+ "VNODE_HOOK": 7,
1619
+ "7": "VNODE_HOOK",
1620
+ "DIRECTIVE_HOOK": 8,
1621
+ "8": "DIRECTIVE_HOOK",
1622
+ "TRANSITION_HOOK": 9,
1623
+ "9": "TRANSITION_HOOK",
1624
+ "APP_ERROR_HANDLER": 10,
1625
+ "10": "APP_ERROR_HANDLER",
1626
+ "APP_WARN_HANDLER": 11,
1627
+ "11": "APP_WARN_HANDLER",
1628
+ "FUNCTION_REF": 12,
1629
+ "12": "FUNCTION_REF",
1630
+ "ASYNC_COMPONENT_LOADER": 13,
1631
+ "13": "ASYNC_COMPONENT_LOADER",
1632
+ "SCHEDULER": 14,
1633
+ "14": "SCHEDULER"
1634
+ };
1550
1635
  const ErrorTypeStrings$1 = {
1551
1636
  ["sp"]: "serverPrefetch hook",
1552
1637
  ["bc"]: "beforeCreate hook",
@@ -1718,13 +1803,16 @@ function queuePostFlushCb(cb) {
1718
1803
  }
1719
1804
  queueFlush();
1720
1805
  }
1721
- function flushPreFlushCbs(seen, i = isFlushing ? flushIndex + 1 : 0) {
1806
+ function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {
1722
1807
  {
1723
1808
  seen = seen || /* @__PURE__ */ new Map();
1724
1809
  }
1725
1810
  for (; i < queue.length; i++) {
1726
1811
  const cb = queue[i];
1727
1812
  if (cb && cb.pre) {
1813
+ if (instance && cb.id !== instance.uid) {
1814
+ continue;
1815
+ }
1728
1816
  if (checkRecursiveUpdates(seen, cb)) {
1729
1817
  continue;
1730
1818
  }
@@ -2029,6 +2117,50 @@ function devtoolsComponentEmit(component, event, params) {
2029
2117
  );
2030
2118
  }
2031
2119
 
2120
+ const DeprecationTypes$1 = {
2121
+ "GLOBAL_MOUNT": "GLOBAL_MOUNT",
2122
+ "GLOBAL_MOUNT_CONTAINER": "GLOBAL_MOUNT_CONTAINER",
2123
+ "GLOBAL_EXTEND": "GLOBAL_EXTEND",
2124
+ "GLOBAL_PROTOTYPE": "GLOBAL_PROTOTYPE",
2125
+ "GLOBAL_SET": "GLOBAL_SET",
2126
+ "GLOBAL_DELETE": "GLOBAL_DELETE",
2127
+ "GLOBAL_OBSERVABLE": "GLOBAL_OBSERVABLE",
2128
+ "GLOBAL_PRIVATE_UTIL": "GLOBAL_PRIVATE_UTIL",
2129
+ "CONFIG_SILENT": "CONFIG_SILENT",
2130
+ "CONFIG_DEVTOOLS": "CONFIG_DEVTOOLS",
2131
+ "CONFIG_KEY_CODES": "CONFIG_KEY_CODES",
2132
+ "CONFIG_PRODUCTION_TIP": "CONFIG_PRODUCTION_TIP",
2133
+ "CONFIG_IGNORED_ELEMENTS": "CONFIG_IGNORED_ELEMENTS",
2134
+ "CONFIG_WHITESPACE": "CONFIG_WHITESPACE",
2135
+ "CONFIG_OPTION_MERGE_STRATS": "CONFIG_OPTION_MERGE_STRATS",
2136
+ "INSTANCE_SET": "INSTANCE_SET",
2137
+ "INSTANCE_DELETE": "INSTANCE_DELETE",
2138
+ "INSTANCE_DESTROY": "INSTANCE_DESTROY",
2139
+ "INSTANCE_EVENT_EMITTER": "INSTANCE_EVENT_EMITTER",
2140
+ "INSTANCE_EVENT_HOOKS": "INSTANCE_EVENT_HOOKS",
2141
+ "INSTANCE_CHILDREN": "INSTANCE_CHILDREN",
2142
+ "INSTANCE_LISTENERS": "INSTANCE_LISTENERS",
2143
+ "INSTANCE_SCOPED_SLOTS": "INSTANCE_SCOPED_SLOTS",
2144
+ "INSTANCE_ATTRS_CLASS_STYLE": "INSTANCE_ATTRS_CLASS_STYLE",
2145
+ "OPTIONS_DATA_FN": "OPTIONS_DATA_FN",
2146
+ "OPTIONS_DATA_MERGE": "OPTIONS_DATA_MERGE",
2147
+ "OPTIONS_BEFORE_DESTROY": "OPTIONS_BEFORE_DESTROY",
2148
+ "OPTIONS_DESTROYED": "OPTIONS_DESTROYED",
2149
+ "WATCH_ARRAY": "WATCH_ARRAY",
2150
+ "PROPS_DEFAULT_THIS": "PROPS_DEFAULT_THIS",
2151
+ "V_ON_KEYCODE_MODIFIER": "V_ON_KEYCODE_MODIFIER",
2152
+ "CUSTOM_DIR": "CUSTOM_DIR",
2153
+ "ATTR_FALSE_VALUE": "ATTR_FALSE_VALUE",
2154
+ "ATTR_ENUMERATED_COERCION": "ATTR_ENUMERATED_COERCION",
2155
+ "TRANSITION_CLASSES": "TRANSITION_CLASSES",
2156
+ "TRANSITION_GROUP_ROOT": "TRANSITION_GROUP_ROOT",
2157
+ "COMPONENT_ASYNC": "COMPONENT_ASYNC",
2158
+ "COMPONENT_FUNCTIONAL": "COMPONENT_FUNCTIONAL",
2159
+ "COMPONENT_V_MODEL": "COMPONENT_V_MODEL",
2160
+ "RENDER_FUNCTION": "RENDER_FUNCTION",
2161
+ "FILTERS": "FILTERS",
2162
+ "PRIVATE_APIS": "PRIVATE_APIS"
2163
+ };
2032
2164
  const deprecationData = {
2033
2165
  ["GLOBAL_MOUNT"]: {
2034
2166
  message: `The global app bootstrapping API has changed: vm.$mount() and the "el" option have been removed. Use createApp(RootComponent).mount() instead.`,
@@ -2957,9 +3089,17 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
2957
3089
  return false;
2958
3090
  }
2959
3091
  function updateHOCHostEl({ vnode, parent }, el) {
2960
- while (parent && parent.subTree === vnode) {
2961
- (vnode = parent.vnode).el = el;
2962
- parent = parent.parent;
3092
+ while (parent) {
3093
+ const root = parent.subTree;
3094
+ if (root.suspense && root.suspense.activeBranch === vnode) {
3095
+ root.el = vnode.el;
3096
+ }
3097
+ if (root === vnode) {
3098
+ (vnode = parent.vnode).el = el;
3099
+ parent = parent.parent;
3100
+ } else {
3101
+ break;
3102
+ }
2963
3103
  }
2964
3104
  }
2965
3105
 
@@ -3023,6 +3163,7 @@ function resolve(registry, name) {
3023
3163
  }
3024
3164
 
3025
3165
  const isSuspense = (type) => type.__isSuspense;
3166
+ let suspenseId = 0;
3026
3167
  const SuspenseImpl = {
3027
3168
  name: "Suspense",
3028
3169
  // In order to make Suspense tree-shakable, we need to avoid importing it
@@ -3030,7 +3171,7 @@ const SuspenseImpl = {
3030
3171
  // on a vnode's type and calls the `process` method, passing in renderer
3031
3172
  // internals.
3032
3173
  __isSuspense: true,
3033
- process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {
3174
+ process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {
3034
3175
  if (n1 == null) {
3035
3176
  mountSuspense(
3036
3177
  n2,
@@ -3038,7 +3179,7 @@ const SuspenseImpl = {
3038
3179
  anchor,
3039
3180
  parentComponent,
3040
3181
  parentSuspense,
3041
- isSVG,
3182
+ namespace,
3042
3183
  slotScopeIds,
3043
3184
  optimized,
3044
3185
  rendererInternals
@@ -3050,7 +3191,7 @@ const SuspenseImpl = {
3050
3191
  container,
3051
3192
  anchor,
3052
3193
  parentComponent,
3053
- isSVG,
3194
+ namespace,
3054
3195
  slotScopeIds,
3055
3196
  optimized,
3056
3197
  rendererInternals
@@ -3068,7 +3209,7 @@ function triggerEvent(vnode, name) {
3068
3209
  eventListener();
3069
3210
  }
3070
3211
  }
3071
- function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {
3212
+ function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {
3072
3213
  const {
3073
3214
  p: patch,
3074
3215
  o: { createElement }
@@ -3081,7 +3222,7 @@ function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense
3081
3222
  container,
3082
3223
  hiddenContainer,
3083
3224
  anchor,
3084
- isSVG,
3225
+ namespace,
3085
3226
  slotScopeIds,
3086
3227
  optimized,
3087
3228
  rendererInternals
@@ -3093,7 +3234,7 @@ function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense
3093
3234
  null,
3094
3235
  parentComponent,
3095
3236
  suspense,
3096
- isSVG,
3237
+ namespace,
3097
3238
  slotScopeIds
3098
3239
  );
3099
3240
  if (suspense.deps > 0) {
@@ -3107,7 +3248,7 @@ function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense
3107
3248
  parentComponent,
3108
3249
  null,
3109
3250
  // fallback tree will not have suspense context
3110
- isSVG,
3251
+ namespace,
3111
3252
  slotScopeIds
3112
3253
  );
3113
3254
  setActiveBranch(suspense, vnode.ssFallback);
@@ -3115,7 +3256,7 @@ function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense
3115
3256
  suspense.resolve(false, true);
3116
3257
  }
3117
3258
  }
3118
- function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {
3259
+ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {
3119
3260
  const suspense = n2.suspense = n1.suspense;
3120
3261
  suspense.vnode = n2;
3121
3262
  n2.el = n1.el;
@@ -3132,29 +3273,31 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotSc
3132
3273
  null,
3133
3274
  parentComponent,
3134
3275
  suspense,
3135
- isSVG,
3276
+ namespace,
3136
3277
  slotScopeIds,
3137
3278
  optimized
3138
3279
  );
3139
3280
  if (suspense.deps <= 0) {
3140
3281
  suspense.resolve();
3141
3282
  } else if (isInFallback) {
3142
- patch(
3143
- activeBranch,
3144
- newFallback,
3145
- container,
3146
- anchor,
3147
- parentComponent,
3148
- null,
3149
- // fallback tree will not have suspense context
3150
- isSVG,
3151
- slotScopeIds,
3152
- optimized
3153
- );
3154
- setActiveBranch(suspense, newFallback);
3283
+ if (!isHydrating) {
3284
+ patch(
3285
+ activeBranch,
3286
+ newFallback,
3287
+ container,
3288
+ anchor,
3289
+ parentComponent,
3290
+ null,
3291
+ // fallback tree will not have suspense context
3292
+ namespace,
3293
+ slotScopeIds,
3294
+ optimized
3295
+ );
3296
+ setActiveBranch(suspense, newFallback);
3297
+ }
3155
3298
  }
3156
3299
  } else {
3157
- suspense.pendingId++;
3300
+ suspense.pendingId = suspenseId++;
3158
3301
  if (isHydrating) {
3159
3302
  suspense.isHydrating = false;
3160
3303
  suspense.activeBranch = pendingBranch;
@@ -3172,7 +3315,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotSc
3172
3315
  null,
3173
3316
  parentComponent,
3174
3317
  suspense,
3175
- isSVG,
3318
+ namespace,
3176
3319
  slotScopeIds,
3177
3320
  optimized
3178
3321
  );
@@ -3187,7 +3330,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotSc
3187
3330
  parentComponent,
3188
3331
  null,
3189
3332
  // fallback tree will not have suspense context
3190
- isSVG,
3333
+ namespace,
3191
3334
  slotScopeIds,
3192
3335
  optimized
3193
3336
  );
@@ -3201,7 +3344,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotSc
3201
3344
  anchor,
3202
3345
  parentComponent,
3203
3346
  suspense,
3204
- isSVG,
3347
+ namespace,
3205
3348
  slotScopeIds,
3206
3349
  optimized
3207
3350
  );
@@ -3214,7 +3357,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotSc
3214
3357
  null,
3215
3358
  parentComponent,
3216
3359
  suspense,
3217
- isSVG,
3360
+ namespace,
3218
3361
  slotScopeIds,
3219
3362
  optimized
3220
3363
  );
@@ -3232,7 +3375,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotSc
3232
3375
  anchor,
3233
3376
  parentComponent,
3234
3377
  suspense,
3235
- isSVG,
3378
+ namespace,
3236
3379
  slotScopeIds,
3237
3380
  optimized
3238
3381
  );
@@ -3240,7 +3383,11 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotSc
3240
3383
  } else {
3241
3384
  triggerEvent(n2, "onPending");
3242
3385
  suspense.pendingBranch = newBranch;
3243
- suspense.pendingId++;
3386
+ if (newBranch.shapeFlag & 512) {
3387
+ suspense.pendingId = newBranch.component.suspenseId;
3388
+ } else {
3389
+ suspense.pendingId = suspenseId++;
3390
+ }
3244
3391
  patch(
3245
3392
  null,
3246
3393
  newBranch,
@@ -3248,7 +3395,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotSc
3248
3395
  null,
3249
3396
  parentComponent,
3250
3397
  suspense,
3251
- isSVG,
3398
+ namespace,
3252
3399
  slotScopeIds,
3253
3400
  optimized
3254
3401
  );
@@ -3270,7 +3417,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotSc
3270
3417
  }
3271
3418
  }
3272
3419
  let hasWarned = false;
3273
- function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {
3420
+ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) {
3274
3421
  if (!hasWarned) {
3275
3422
  hasWarned = true;
3276
3423
  console[console.info ? "info" : "log"](
@@ -3300,7 +3447,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3300
3447
  vnode,
3301
3448
  parent: parentSuspense,
3302
3449
  parentComponent,
3303
- isSVG,
3450
+ namespace,
3304
3451
  container,
3305
3452
  hiddenContainer,
3306
3453
  anchor,
@@ -3309,7 +3456,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3309
3456
  timeout: typeof timeout === "number" ? timeout : -1,
3310
3457
  activeBranch: null,
3311
3458
  pendingBranch: null,
3312
- isInFallback: true,
3459
+ isInFallback: !isHydrating,
3313
3460
  isHydrating,
3314
3461
  isUnmounted: false,
3315
3462
  effects: [],
@@ -3343,7 +3490,12 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3343
3490
  if (delayEnter) {
3344
3491
  activeBranch.transition.afterLeave = () => {
3345
3492
  if (pendingId === suspense.pendingId) {
3346
- move(pendingBranch, container2, anchor2, 0);
3493
+ move(
3494
+ pendingBranch,
3495
+ container2,
3496
+ next(activeBranch),
3497
+ 0
3498
+ );
3347
3499
  queuePostFlushCb(effects);
3348
3500
  }
3349
3501
  };
@@ -3388,7 +3540,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3388
3540
  if (!suspense.pendingBranch) {
3389
3541
  return;
3390
3542
  }
3391
- const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, isSVG: isSVG2 } = suspense;
3543
+ const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense;
3392
3544
  triggerEvent(vnode2, "onFallback");
3393
3545
  const anchor2 = next(activeBranch);
3394
3546
  const mountFallback = () => {
@@ -3403,7 +3555,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3403
3555
  parentComponent2,
3404
3556
  null,
3405
3557
  // fallback tree will not have suspense context
3406
- isSVG2,
3558
+ namespace2,
3407
3559
  slotScopeIds,
3408
3560
  optimized
3409
3561
  );
@@ -3466,7 +3618,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3466
3618
  // consider the comment placeholder case.
3467
3619
  hydratedEl ? null : next(instance.subTree),
3468
3620
  suspense,
3469
- isSVG,
3621
+ namespace,
3470
3622
  optimized
3471
3623
  );
3472
3624
  if (placeholder) {
@@ -3503,7 +3655,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3503
3655
  };
3504
3656
  return suspense;
3505
3657
  }
3506
- function hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {
3658
+ function hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) {
3507
3659
  const suspense = vnode.suspense = createSuspenseBoundary(
3508
3660
  vnode,
3509
3661
  parentSuspense,
@@ -3511,7 +3663,7 @@ function hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, sl
3511
3663
  node.parentNode,
3512
3664
  document.createElement("div"),
3513
3665
  null,
3514
- isSVG,
3666
+ namespace,
3515
3667
  slotScopeIds,
3516
3668
  optimized,
3517
3669
  rendererInternals,
@@ -4453,7 +4605,7 @@ const KeepAliveImpl = {
4453
4605
  }
4454
4606
  } = sharedContext;
4455
4607
  const storageContainer = createElement("div");
4456
- sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {
4608
+ sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {
4457
4609
  const instance2 = vnode.component;
4458
4610
  move(vnode, container, anchor, 0, parentSuspense);
4459
4611
  patch(
@@ -4463,7 +4615,7 @@ const KeepAliveImpl = {
4463
4615
  anchor,
4464
4616
  instance2,
4465
4617
  parentSuspense,
4466
- isSVG,
4618
+ namespace,
4467
4619
  vnode.slotScopeIds,
4468
4620
  optimized
4469
4621
  );
@@ -5651,7 +5803,7 @@ function useSlots() {
5651
5803
  function useAttrs() {
5652
5804
  return getContext().attrs;
5653
5805
  }
5654
- function useModel(props, name, options) {
5806
+ function useModel(props, name) {
5655
5807
  const i = getCurrentInstance();
5656
5808
  if (!i) {
5657
5809
  warn(`useModel() called without active instance.`);
@@ -5661,29 +5813,24 @@ function useModel(props, name, options) {
5661
5813
  warn(`useModel() called with prop "${name}" which is not declared.`);
5662
5814
  return ref();
5663
5815
  }
5664
- if (options && options.local) {
5665
- const proxy = ref(props[name]);
5666
- watch(
5667
- () => props[name],
5668
- (v) => proxy.value = v
5669
- );
5670
- watch(proxy, (value) => {
5671
- if (value !== props[name]) {
5672
- i.emit(`update:${name}`, value);
5673
- }
5674
- });
5675
- return proxy;
5676
- } else {
5677
- return {
5678
- __v_isRef: true,
5679
- get value() {
5680
- return props[name];
5681
- },
5682
- set value(value) {
5683
- i.emit(`update:${name}`, value);
5816
+ let localValue;
5817
+ watchSyncEffect(() => {
5818
+ localValue = props[name];
5819
+ });
5820
+ return customRef((track, trigger) => ({
5821
+ get() {
5822
+ track();
5823
+ return localValue;
5824
+ },
5825
+ set(value) {
5826
+ const rawProps = i.vnode.props;
5827
+ if (!(rawProps && name in rawProps) && hasChanged(value, localValue)) {
5828
+ localValue = value;
5829
+ trigger();
5684
5830
  }
5685
- };
5686
- }
5831
+ i.emit(`update:${name}`, value);
5832
+ }
5833
+ }));
5687
5834
  }
5688
5835
  function getContext() {
5689
5836
  const i = getCurrentInstance();
@@ -6257,7 +6404,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6257
6404
  return vm;
6258
6405
  }
6259
6406
  }
6260
- Vue.version = `2.6.14-compat:${"3.4.0-alpha.3"}`;
6407
+ Vue.version = `2.6.14-compat:${"3.4.0-beta.1"}`;
6261
6408
  Vue.config = singletonApp.config;
6262
6409
  Vue.use = (p, ...options) => {
6263
6410
  if (p && isFunction(p.install)) {
@@ -6502,12 +6649,16 @@ function installCompatMount(app, context, render) {
6502
6649
  } else {
6503
6650
  container = selectorOrEl || document.createElement("div");
6504
6651
  }
6505
- const isSVG = container instanceof SVGElement;
6652
+ let namespace;
6653
+ if (container instanceof SVGElement)
6654
+ namespace = "svg";
6655
+ else if (typeof MathMLElement === "function" && container instanceof MathMLElement)
6656
+ namespace = "mathml";
6506
6657
  {
6507
6658
  context.reload = () => {
6508
6659
  const cloned = cloneVNode(vnode);
6509
6660
  cloned.component = null;
6510
- render(cloned, container, isSVG);
6661
+ render(cloned, container, namespace);
6511
6662
  };
6512
6663
  }
6513
6664
  if (hasNoRender && instance.render === emptyRender) {
@@ -6530,7 +6681,7 @@ function installCompatMount(app, context, render) {
6530
6681
  );
6531
6682
  }
6532
6683
  container.innerHTML = "";
6533
- render(vnode, container, isSVG);
6684
+ render(vnode, container, namespace);
6534
6685
  if (container instanceof Element) {
6535
6686
  container.removeAttribute("v-cloak");
6536
6687
  container.setAttribute("data-v-app", "");
@@ -6658,18 +6809,6 @@ function createAppAPI(render, hydrate) {
6658
6809
  rootProps = null;
6659
6810
  }
6660
6811
  const context = createAppContext();
6661
- {
6662
- Object.defineProperty(context.config, "unwrapInjectedRef", {
6663
- get() {
6664
- return true;
6665
- },
6666
- set() {
6667
- warn(
6668
- `app.config.unwrapInjectedRef has been deprecated. 3.3 now always unwraps injected refs in Options API.`
6669
- );
6670
- }
6671
- });
6672
- }
6673
6812
  const installedPlugins = /* @__PURE__ */ new WeakSet();
6674
6813
  let isMounted = false;
6675
6814
  const app = context.app = {
@@ -6744,7 +6883,7 @@ function createAppAPI(render, hydrate) {
6744
6883
  context.directives[name] = directive;
6745
6884
  return app;
6746
6885
  },
6747
- mount(rootContainer, isHydrate, isSVG) {
6886
+ mount(rootContainer, isHydrate, namespace) {
6748
6887
  if (!isMounted) {
6749
6888
  if (rootContainer.__vue_app__) {
6750
6889
  warn(
@@ -6754,15 +6893,24 @@ function createAppAPI(render, hydrate) {
6754
6893
  }
6755
6894
  const vnode = createVNode(rootComponent, rootProps);
6756
6895
  vnode.appContext = context;
6896
+ if (namespace === true) {
6897
+ namespace = "svg";
6898
+ } else if (namespace === false) {
6899
+ namespace = void 0;
6900
+ }
6757
6901
  {
6758
6902
  context.reload = () => {
6759
- render(cloneVNode(vnode), rootContainer, isSVG);
6903
+ render(
6904
+ cloneVNode(vnode),
6905
+ rootContainer,
6906
+ namespace
6907
+ );
6760
6908
  };
6761
6909
  }
6762
6910
  if (isHydrate && hydrate) {
6763
6911
  hydrate(vnode, rootContainer);
6764
6912
  } else {
6765
- render(vnode, rootContainer, isSVG);
6913
+ render(vnode, rootContainer, namespace);
6766
6914
  }
6767
6915
  isMounted = true;
6768
6916
  app._container = rootContainer;
@@ -7227,11 +7375,12 @@ function validateProps(rawProps, props, instance) {
7227
7375
  key,
7228
7376
  resolvedValues[key],
7229
7377
  opt,
7378
+ shallowReadonly(resolvedValues) ,
7230
7379
  !hasOwn(rawProps, key) && !hasOwn(rawProps, hyphenate(key))
7231
7380
  );
7232
7381
  }
7233
7382
  }
7234
- function validateProp(name, value, prop, isAbsent) {
7383
+ function validateProp(name, value, prop, props, isAbsent) {
7235
7384
  const { type, required, validator, skipCheck } = prop;
7236
7385
  if (required && isAbsent) {
7237
7386
  warn('Missing required prop: "' + name + '"');
@@ -7254,7 +7403,7 @@ function validateProp(name, value, prop, isAbsent) {
7254
7403
  return;
7255
7404
  }
7256
7405
  }
7257
- if (validator && !validator(value)) {
7406
+ if (validator && !validator(value, props)) {
7258
7407
  warn('Invalid prop: custom validator check failed for prop "' + name + '".');
7259
7408
  }
7260
7409
  }
@@ -7512,7 +7661,15 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
7512
7661
  }
7513
7662
 
7514
7663
  let hasMismatch = false;
7515
- const isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== "foreignObject";
7664
+ const isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject";
7665
+ const isMathMLContainer = (container) => container.namespaceURI.includes("MathML");
7666
+ const getContainerType = (container) => {
7667
+ if (isSVGContainer(container))
7668
+ return "svg";
7669
+ if (isMathMLContainer(container))
7670
+ return "mathml";
7671
+ return void 0;
7672
+ };
7516
7673
  const isComment = (node) => node.nodeType === 8 /* COMMENT */;
7517
7674
  function createHydrationFunctions(rendererInternals) {
7518
7675
  const {
@@ -7591,11 +7748,13 @@ function createHydrationFunctions(rendererInternals) {
7591
7748
  if (node.data !== vnode.children) {
7592
7749
  hasMismatch = true;
7593
7750
  warn(
7594
- `Hydration text mismatch:
7595
- - Server rendered: ${JSON.stringify(
7751
+ `Hydration text mismatch in`,
7752
+ node.parentNode,
7753
+ `
7754
+ - rendered on server: ${JSON.stringify(
7596
7755
  node.data
7597
7756
  )}
7598
- - Client rendered: ${JSON.stringify(vnode.children)}`
7757
+ - expected on client: ${JSON.stringify(vnode.children)}`
7599
7758
  );
7600
7759
  node.data = vnode.children;
7601
7760
  }
@@ -7681,7 +7840,7 @@ function createHydrationFunctions(rendererInternals) {
7681
7840
  null,
7682
7841
  parentComponent,
7683
7842
  parentSuspense,
7684
- isSVGContainer(container),
7843
+ getContainerType(container),
7685
7844
  optimized
7686
7845
  );
7687
7846
  if (isAsyncWrapper(vnode)) {
@@ -7716,7 +7875,7 @@ function createHydrationFunctions(rendererInternals) {
7716
7875
  vnode,
7717
7876
  parentComponent,
7718
7877
  parentSuspense,
7719
- isSVGContainer(parentNode(node)),
7878
+ getContainerType(parentNode(node)),
7720
7879
  slotScopeIds,
7721
7880
  optimized,
7722
7881
  rendererInternals,
@@ -7739,38 +7898,6 @@ function createHydrationFunctions(rendererInternals) {
7739
7898
  if (dirs) {
7740
7899
  invokeDirectiveHook(vnode, null, parentComponent, "created");
7741
7900
  }
7742
- if (props) {
7743
- if (forcePatch || !optimized || patchFlag & (16 | 32)) {
7744
- for (const key in props) {
7745
- if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
7746
- key[0] === ".") {
7747
- patchProp(
7748
- el,
7749
- key,
7750
- null,
7751
- props[key],
7752
- false,
7753
- void 0,
7754
- parentComponent
7755
- );
7756
- }
7757
- }
7758
- } else if (props.onClick) {
7759
- patchProp(
7760
- el,
7761
- "onClick",
7762
- null,
7763
- props.onClick,
7764
- false,
7765
- void 0,
7766
- parentComponent
7767
- );
7768
- }
7769
- }
7770
- let vnodeHooks;
7771
- if (vnodeHooks = props && props.onVnodeBeforeMount) {
7772
- invokeVNodeHook(vnodeHooks, parentComponent, vnode);
7773
- }
7774
7901
  let needCallTransitionHooks = false;
7775
7902
  if (isTemplateNode(el)) {
7776
7903
  needCallTransitionHooks = needTransition(parentSuspense, transition) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;
@@ -7781,16 +7908,6 @@ function createHydrationFunctions(rendererInternals) {
7781
7908
  replaceNode(content, el, parentComponent);
7782
7909
  vnode.el = el = content;
7783
7910
  }
7784
- if (dirs) {
7785
- invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
7786
- }
7787
- if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {
7788
- queueEffectWithSuspense(() => {
7789
- vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);
7790
- needCallTransitionHooks && transition.enter(el);
7791
- dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
7792
- }, parentSuspense);
7793
- }
7794
7911
  if (shapeFlag & 16 && // skip if element has innerHTML / textContent
7795
7912
  !(props && (props.innerHTML || props.textContent))) {
7796
7913
  let next = hydrateChildren(
@@ -7807,7 +7924,10 @@ function createHydrationFunctions(rendererInternals) {
7807
7924
  hasMismatch = true;
7808
7925
  if (!hasWarned) {
7809
7926
  warn(
7810
- `Hydration children mismatch in <${vnode.type}>: server rendered element contains more child nodes than client vdom.`
7927
+ `Hydration children mismatch on`,
7928
+ el,
7929
+ `
7930
+ Server rendered element contains more child nodes than client vdom.`
7811
7931
  );
7812
7932
  hasWarned = true;
7813
7933
  }
@@ -7819,13 +7939,50 @@ function createHydrationFunctions(rendererInternals) {
7819
7939
  if (el.textContent !== vnode.children) {
7820
7940
  hasMismatch = true;
7821
7941
  warn(
7822
- `Hydration text content mismatch in <${vnode.type}>:
7823
- - Server rendered: ${el.textContent}
7824
- - Client rendered: ${vnode.children}`
7942
+ `Hydration text content mismatch on`,
7943
+ el,
7944
+ `
7945
+ - rendered on server: ${el.textContent}
7946
+ - expected on client: ${vnode.children}`
7825
7947
  );
7826
7948
  el.textContent = vnode.children;
7827
7949
  }
7828
7950
  }
7951
+ if (props) {
7952
+ {
7953
+ for (const key in props) {
7954
+ if (propHasMismatch(el, key, props[key])) {
7955
+ hasMismatch = true;
7956
+ }
7957
+ if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
7958
+ key[0] === ".") {
7959
+ patchProp(
7960
+ el,
7961
+ key,
7962
+ null,
7963
+ props[key],
7964
+ void 0,
7965
+ void 0,
7966
+ parentComponent
7967
+ );
7968
+ }
7969
+ }
7970
+ }
7971
+ }
7972
+ let vnodeHooks;
7973
+ if (vnodeHooks = props && props.onVnodeBeforeMount) {
7974
+ invokeVNodeHook(vnodeHooks, parentComponent, vnode);
7975
+ }
7976
+ if (dirs) {
7977
+ invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
7978
+ }
7979
+ if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {
7980
+ queueEffectWithSuspense(() => {
7981
+ vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);
7982
+ needCallTransitionHooks && transition.enter(el);
7983
+ dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
7984
+ }, parentSuspense);
7985
+ }
7829
7986
  }
7830
7987
  return el.nextSibling;
7831
7988
  };
@@ -7851,7 +8008,10 @@ function createHydrationFunctions(rendererInternals) {
7851
8008
  hasMismatch = true;
7852
8009
  if (!hasWarned) {
7853
8010
  warn(
7854
- `Hydration children mismatch in <${container.tagName.toLowerCase()}>: server rendered element contains fewer child nodes than client vdom.`
8011
+ `Hydration children mismatch on`,
8012
+ container,
8013
+ `
8014
+ Server rendered element contains fewer child nodes than client vdom.`
7855
8015
  );
7856
8016
  hasWarned = true;
7857
8017
  }
@@ -7862,7 +8022,7 @@ function createHydrationFunctions(rendererInternals) {
7862
8022
  null,
7863
8023
  parentComponent,
7864
8024
  parentSuspense,
7865
- isSVGContainer(container),
8025
+ getContainerType(container),
7866
8026
  slotScopeIds
7867
8027
  );
7868
8028
  }
@@ -7896,12 +8056,12 @@ function createHydrationFunctions(rendererInternals) {
7896
8056
  hasMismatch = true;
7897
8057
  warn(
7898
8058
  `Hydration node mismatch:
7899
- - Client vnode:`,
7900
- vnode.type,
7901
- `
7902
- - Server rendered DOM:`,
8059
+ - rendered on server:`,
7903
8060
  node,
7904
- node.nodeType === 3 /* TEXT */ ? `(text)` : isComment(node) && node.data === "[" ? `(start of fragment)` : ``
8061
+ node.nodeType === 3 /* TEXT */ ? `(text)` : isComment(node) && node.data === "[" ? `(start of fragment)` : ``,
8062
+ `
8063
+ - expected on client:`,
8064
+ vnode.type
7905
8065
  );
7906
8066
  vnode.el = null;
7907
8067
  if (isFragment) {
@@ -7925,7 +8085,7 @@ function createHydrationFunctions(rendererInternals) {
7925
8085
  next,
7926
8086
  parentComponent,
7927
8087
  parentSuspense,
7928
- isSVGContainer(container),
8088
+ getContainerType(container),
7929
8089
  slotScopeIds
7930
8090
  );
7931
8091
  return next;
@@ -7966,6 +8126,46 @@ function createHydrationFunctions(rendererInternals) {
7966
8126
  };
7967
8127
  return [hydrate, hydrateNode];
7968
8128
  }
8129
+ function propHasMismatch(el, key, clientValue) {
8130
+ let mismatchType;
8131
+ let mismatchKey;
8132
+ let actual;
8133
+ let expected;
8134
+ if (key === "class") {
8135
+ actual = el.className;
8136
+ expected = normalizeClass(clientValue);
8137
+ if (actual !== expected) {
8138
+ mismatchType = mismatchKey = `class`;
8139
+ }
8140
+ } else if (key === "style") {
8141
+ actual = el.getAttribute("style");
8142
+ expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));
8143
+ if (actual !== expected) {
8144
+ mismatchType = mismatchKey = "style";
8145
+ }
8146
+ } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {
8147
+ actual = el.hasAttribute(key) && el.getAttribute(key);
8148
+ expected = isBooleanAttr(key) ? includeBooleanAttr(clientValue) ? "" : false : clientValue == null ? false : String(clientValue);
8149
+ if (actual !== expected) {
8150
+ mismatchType = `attribute`;
8151
+ mismatchKey = key;
8152
+ }
8153
+ }
8154
+ if (mismatchType) {
8155
+ const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}="${v}"`;
8156
+ warn(
8157
+ `Hydration ${mismatchType} mismatch on`,
8158
+ el,
8159
+ `
8160
+ - rendered on server: ${format(actual)}
8161
+ - expected on client: ${format(expected)}
8162
+ Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.
8163
+ You should fix the source of the mismatch.`
8164
+ );
8165
+ return true;
8166
+ }
8167
+ return false;
8168
+ }
7969
8169
 
7970
8170
  let supported;
7971
8171
  let perf;
@@ -8034,7 +8234,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8034
8234
  setScopeId: hostSetScopeId = NOOP,
8035
8235
  insertStaticContent: hostInsertStaticContent
8036
8236
  } = options;
8037
- const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, slotScopeIds = null, optimized = isHmrUpdating ? false : !!n2.dynamicChildren) => {
8237
+ const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, namespace = void 0, slotScopeIds = null, optimized = isHmrUpdating ? false : !!n2.dynamicChildren) => {
8038
8238
  if (n1 === n2) {
8039
8239
  return;
8040
8240
  }
@@ -8057,9 +8257,9 @@ function baseCreateRenderer(options, createHydrationFns) {
8057
8257
  break;
8058
8258
  case Static:
8059
8259
  if (n1 == null) {
8060
- mountStaticNode(n2, container, anchor, isSVG);
8260
+ mountStaticNode(n2, container, anchor, namespace);
8061
8261
  } else {
8062
- patchStaticNode(n1, n2, container, isSVG);
8262
+ patchStaticNode(n1, n2, container, namespace);
8063
8263
  }
8064
8264
  break;
8065
8265
  case Fragment:
@@ -8070,7 +8270,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8070
8270
  anchor,
8071
8271
  parentComponent,
8072
8272
  parentSuspense,
8073
- isSVG,
8273
+ namespace,
8074
8274
  slotScopeIds,
8075
8275
  optimized
8076
8276
  );
@@ -8084,7 +8284,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8084
8284
  anchor,
8085
8285
  parentComponent,
8086
8286
  parentSuspense,
8087
- isSVG,
8287
+ namespace,
8088
8288
  slotScopeIds,
8089
8289
  optimized
8090
8290
  );
@@ -8096,7 +8296,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8096
8296
  anchor,
8097
8297
  parentComponent,
8098
8298
  parentSuspense,
8099
- isSVG,
8299
+ namespace,
8100
8300
  slotScopeIds,
8101
8301
  optimized
8102
8302
  );
@@ -8108,7 +8308,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8108
8308
  anchor,
8109
8309
  parentComponent,
8110
8310
  parentSuspense,
8111
- isSVG,
8311
+ namespace,
8112
8312
  slotScopeIds,
8113
8313
  optimized,
8114
8314
  internals
@@ -8121,7 +8321,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8121
8321
  anchor,
8122
8322
  parentComponent,
8123
8323
  parentSuspense,
8124
- isSVG,
8324
+ namespace,
8125
8325
  slotScopeIds,
8126
8326
  optimized,
8127
8327
  internals
@@ -8159,17 +8359,17 @@ function baseCreateRenderer(options, createHydrationFns) {
8159
8359
  n2.el = n1.el;
8160
8360
  }
8161
8361
  };
8162
- const mountStaticNode = (n2, container, anchor, isSVG) => {
8362
+ const mountStaticNode = (n2, container, anchor, namespace) => {
8163
8363
  [n2.el, n2.anchor] = hostInsertStaticContent(
8164
8364
  n2.children,
8165
8365
  container,
8166
8366
  anchor,
8167
- isSVG,
8367
+ namespace,
8168
8368
  n2.el,
8169
8369
  n2.anchor
8170
8370
  );
8171
8371
  };
8172
- const patchStaticNode = (n1, n2, container, isSVG) => {
8372
+ const patchStaticNode = (n1, n2, container, namespace) => {
8173
8373
  if (n2.children !== n1.children) {
8174
8374
  const anchor = hostNextSibling(n1.anchor);
8175
8375
  removeStaticNode(n1);
@@ -8177,7 +8377,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8177
8377
  n2.children,
8178
8378
  container,
8179
8379
  anchor,
8180
- isSVG
8380
+ namespace
8181
8381
  );
8182
8382
  } else {
8183
8383
  n2.el = n1.el;
@@ -8202,8 +8402,12 @@ function baseCreateRenderer(options, createHydrationFns) {
8202
8402
  }
8203
8403
  hostRemove(anchor);
8204
8404
  };
8205
- const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
8206
- isSVG = isSVG || n2.type === "svg";
8405
+ const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
8406
+ if (n2.type === "svg") {
8407
+ namespace = "svg";
8408
+ } else if (n2.type === "math") {
8409
+ namespace = "mathml";
8410
+ }
8207
8411
  if (n1 == null) {
8208
8412
  mountElement(
8209
8413
  n2,
@@ -8211,7 +8415,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8211
8415
  anchor,
8212
8416
  parentComponent,
8213
8417
  parentSuspense,
8214
- isSVG,
8418
+ namespace,
8215
8419
  slotScopeIds,
8216
8420
  optimized
8217
8421
  );
@@ -8221,19 +8425,19 @@ function baseCreateRenderer(options, createHydrationFns) {
8221
8425
  n2,
8222
8426
  parentComponent,
8223
8427
  parentSuspense,
8224
- isSVG,
8428
+ namespace,
8225
8429
  slotScopeIds,
8226
8430
  optimized
8227
8431
  );
8228
8432
  }
8229
8433
  };
8230
- const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
8434
+ const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
8231
8435
  let el;
8232
8436
  let vnodeHook;
8233
- const { type, props, shapeFlag, transition, dirs } = vnode;
8437
+ const { props, shapeFlag, transition, dirs } = vnode;
8234
8438
  el = vnode.el = hostCreateElement(
8235
8439
  vnode.type,
8236
- isSVG,
8440
+ namespace,
8237
8441
  props && props.is,
8238
8442
  props
8239
8443
  );
@@ -8246,7 +8450,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8246
8450
  null,
8247
8451
  parentComponent,
8248
8452
  parentSuspense,
8249
- isSVG && type !== "foreignObject",
8453
+ resolveChildrenNamespace(vnode, namespace),
8250
8454
  slotScopeIds,
8251
8455
  optimized
8252
8456
  );
@@ -8263,7 +8467,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8263
8467
  key,
8264
8468
  null,
8265
8469
  props[key],
8266
- isSVG,
8470
+ namespace,
8267
8471
  vnode.children,
8268
8472
  parentComponent,
8269
8473
  parentSuspense,
@@ -8272,7 +8476,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8272
8476
  }
8273
8477
  }
8274
8478
  if ("value" in props) {
8275
- hostPatchProp(el, "value", null, props.value);
8479
+ hostPatchProp(el, "value", null, props.value, namespace);
8276
8480
  }
8277
8481
  if (vnodeHook = props.onVnodeBeforeMount) {
8278
8482
  invokeVNodeHook(vnodeHook, parentComponent, vnode);
@@ -8330,7 +8534,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8330
8534
  }
8331
8535
  }
8332
8536
  };
8333
- const mountChildren = (children, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, start = 0) => {
8537
+ const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {
8334
8538
  for (let i = start; i < children.length; i++) {
8335
8539
  const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);
8336
8540
  patch(
@@ -8340,13 +8544,13 @@ function baseCreateRenderer(options, createHydrationFns) {
8340
8544
  anchor,
8341
8545
  parentComponent,
8342
8546
  parentSuspense,
8343
- isSVG,
8547
+ namespace,
8344
8548
  slotScopeIds,
8345
8549
  optimized
8346
8550
  );
8347
8551
  }
8348
8552
  };
8349
- const patchElement = (n1, n2, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
8553
+ const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
8350
8554
  const el = n2.el = n1.el;
8351
8555
  let { patchFlag, dynamicChildren, dirs } = n2;
8352
8556
  patchFlag |= n1.patchFlag & 16;
@@ -8366,7 +8570,6 @@ function baseCreateRenderer(options, createHydrationFns) {
8366
8570
  optimized = false;
8367
8571
  dynamicChildren = null;
8368
8572
  }
8369
- const areChildrenSVG = isSVG && n2.type !== "foreignObject";
8370
8573
  if (dynamicChildren) {
8371
8574
  patchBlockChildren(
8372
8575
  n1.dynamicChildren,
@@ -8374,7 +8577,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8374
8577
  el,
8375
8578
  parentComponent,
8376
8579
  parentSuspense,
8377
- areChildrenSVG,
8580
+ resolveChildrenNamespace(n2, namespace),
8378
8581
  slotScopeIds
8379
8582
  );
8380
8583
  {
@@ -8388,7 +8591,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8388
8591
  null,
8389
8592
  parentComponent,
8390
8593
  parentSuspense,
8391
- areChildrenSVG,
8594
+ resolveChildrenNamespace(n2, namespace),
8392
8595
  slotScopeIds,
8393
8596
  false
8394
8597
  );
@@ -8402,16 +8605,16 @@ function baseCreateRenderer(options, createHydrationFns) {
8402
8605
  newProps,
8403
8606
  parentComponent,
8404
8607
  parentSuspense,
8405
- isSVG
8608
+ namespace
8406
8609
  );
8407
8610
  } else {
8408
8611
  if (patchFlag & 2) {
8409
8612
  if (oldProps.class !== newProps.class) {
8410
- hostPatchProp(el, "class", null, newProps.class, isSVG);
8613
+ hostPatchProp(el, "class", null, newProps.class, namespace);
8411
8614
  }
8412
8615
  }
8413
8616
  if (patchFlag & 4) {
8414
- hostPatchProp(el, "style", oldProps.style, newProps.style, isSVG);
8617
+ hostPatchProp(el, "style", oldProps.style, newProps.style, namespace);
8415
8618
  }
8416
8619
  if (patchFlag & 8) {
8417
8620
  const propsToUpdate = n2.dynamicProps;
@@ -8425,7 +8628,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8425
8628
  key,
8426
8629
  prev,
8427
8630
  next,
8428
- isSVG,
8631
+ namespace,
8429
8632
  n1.children,
8430
8633
  parentComponent,
8431
8634
  parentSuspense,
@@ -8448,7 +8651,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8448
8651
  newProps,
8449
8652
  parentComponent,
8450
8653
  parentSuspense,
8451
- isSVG
8654
+ namespace
8452
8655
  );
8453
8656
  }
8454
8657
  if ((vnodeHook = newProps.onVnodeUpdated) || dirs) {
@@ -8458,7 +8661,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8458
8661
  }, parentSuspense);
8459
8662
  }
8460
8663
  };
8461
- const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, isSVG, slotScopeIds) => {
8664
+ const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, namespace, slotScopeIds) => {
8462
8665
  for (let i = 0; i < newChildren.length; i++) {
8463
8666
  const oldVNode = oldChildren[i];
8464
8667
  const newVNode = newChildren[i];
@@ -8483,13 +8686,13 @@ function baseCreateRenderer(options, createHydrationFns) {
8483
8686
  null,
8484
8687
  parentComponent,
8485
8688
  parentSuspense,
8486
- isSVG,
8689
+ namespace,
8487
8690
  slotScopeIds,
8488
8691
  true
8489
8692
  );
8490
8693
  }
8491
8694
  };
8492
- const patchProps = (el, vnode, oldProps, newProps, parentComponent, parentSuspense, isSVG) => {
8695
+ const patchProps = (el, vnode, oldProps, newProps, parentComponent, parentSuspense, namespace) => {
8493
8696
  if (oldProps !== newProps) {
8494
8697
  if (oldProps !== EMPTY_OBJ) {
8495
8698
  for (const key in oldProps) {
@@ -8499,7 +8702,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8499
8702
  key,
8500
8703
  oldProps[key],
8501
8704
  null,
8502
- isSVG,
8705
+ namespace,
8503
8706
  vnode.children,
8504
8707
  parentComponent,
8505
8708
  parentSuspense,
@@ -8519,7 +8722,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8519
8722
  key,
8520
8723
  prev,
8521
8724
  next,
8522
- isSVG,
8725
+ namespace,
8523
8726
  vnode.children,
8524
8727
  parentComponent,
8525
8728
  parentSuspense,
@@ -8528,11 +8731,11 @@ function baseCreateRenderer(options, createHydrationFns) {
8528
8731
  }
8529
8732
  }
8530
8733
  if ("value" in newProps) {
8531
- hostPatchProp(el, "value", oldProps.value, newProps.value);
8734
+ hostPatchProp(el, "value", oldProps.value, newProps.value, namespace);
8532
8735
  }
8533
8736
  }
8534
8737
  };
8535
- const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
8738
+ const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
8536
8739
  const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText("");
8537
8740
  const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText("");
8538
8741
  let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;
@@ -8556,7 +8759,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8556
8759
  fragmentEndAnchor,
8557
8760
  parentComponent,
8558
8761
  parentSuspense,
8559
- isSVG,
8762
+ namespace,
8560
8763
  slotScopeIds,
8561
8764
  optimized
8562
8765
  );
@@ -8570,7 +8773,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8570
8773
  container,
8571
8774
  parentComponent,
8572
8775
  parentSuspense,
8573
- isSVG,
8776
+ namespace,
8574
8777
  slotScopeIds
8575
8778
  );
8576
8779
  {
@@ -8584,14 +8787,14 @@ function baseCreateRenderer(options, createHydrationFns) {
8584
8787
  fragmentEndAnchor,
8585
8788
  parentComponent,
8586
8789
  parentSuspense,
8587
- isSVG,
8790
+ namespace,
8588
8791
  slotScopeIds,
8589
8792
  optimized
8590
8793
  );
8591
8794
  }
8592
8795
  }
8593
8796
  };
8594
- const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
8797
+ const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
8595
8798
  n2.slotScopeIds = slotScopeIds;
8596
8799
  if (n1 == null) {
8597
8800
  if (n2.shapeFlag & 512) {
@@ -8599,7 +8802,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8599
8802
  n2,
8600
8803
  container,
8601
8804
  anchor,
8602
- isSVG,
8805
+ namespace,
8603
8806
  optimized
8604
8807
  );
8605
8808
  } else {
@@ -8609,7 +8812,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8609
8812
  anchor,
8610
8813
  parentComponent,
8611
8814
  parentSuspense,
8612
- isSVG,
8815
+ namespace,
8613
8816
  optimized
8614
8817
  );
8615
8818
  }
@@ -8617,7 +8820,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8617
8820
  updateComponent(n1, n2, optimized);
8618
8821
  }
8619
8822
  };
8620
- const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {
8823
+ const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => {
8621
8824
  const compatMountInstance = initialVNode.isCompatRoot && initialVNode.component;
8622
8825
  const instance = compatMountInstance || (initialVNode.component = createComponentInstance(
8623
8826
  initialVNode,
@@ -8649,17 +8852,17 @@ function baseCreateRenderer(options, createHydrationFns) {
8649
8852
  const placeholder = instance.subTree = createVNode(Comment);
8650
8853
  processCommentNode(null, placeholder, container, anchor);
8651
8854
  }
8652
- return;
8855
+ } else {
8856
+ setupRenderEffect(
8857
+ instance,
8858
+ initialVNode,
8859
+ container,
8860
+ anchor,
8861
+ parentSuspense,
8862
+ namespace,
8863
+ optimized
8864
+ );
8653
8865
  }
8654
- setupRenderEffect(
8655
- instance,
8656
- initialVNode,
8657
- container,
8658
- anchor,
8659
- parentSuspense,
8660
- isSVG,
8661
- optimized
8662
- );
8663
8866
  {
8664
8867
  popWarningContext();
8665
8868
  endMeasure(instance, `mount`);
@@ -8688,7 +8891,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8688
8891
  instance.vnode = n2;
8689
8892
  }
8690
8893
  };
8691
- const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, isSVG, optimized) => {
8894
+ const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, namespace, optimized) => {
8692
8895
  const componentUpdateFn = () => {
8693
8896
  if (!instance.isMounted) {
8694
8897
  let vnodeHook;
@@ -8758,7 +8961,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8758
8961
  anchor,
8759
8962
  instance,
8760
8963
  parentSuspense,
8761
- isSVG
8964
+ namespace
8762
8965
  );
8763
8966
  {
8764
8967
  endMeasure(instance, `patch`);
@@ -8797,6 +9000,21 @@ function baseCreateRenderer(options, createHydrationFns) {
8797
9000
  initialVNode = container = anchor = null;
8798
9001
  } else {
8799
9002
  let { next, bu, u, parent, vnode } = instance;
9003
+ {
9004
+ const nonHydratedAsyncRoot = locateNonHydratedAsyncRoot(instance);
9005
+ if (nonHydratedAsyncRoot) {
9006
+ if (next) {
9007
+ next.el = vnode.el;
9008
+ updateComponentPreRender(instance, next, optimized);
9009
+ }
9010
+ nonHydratedAsyncRoot.asyncDep.then(() => {
9011
+ if (!instance.isUnmounted) {
9012
+ componentUpdateFn();
9013
+ }
9014
+ });
9015
+ return;
9016
+ }
9017
+ }
8800
9018
  let originNext = next;
8801
9019
  let vnodeHook;
8802
9020
  {
@@ -8840,7 +9058,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8840
9058
  getNextHostNode(prevTree),
8841
9059
  instance,
8842
9060
  parentSuspense,
8843
- isSVG
9061
+ namespace
8844
9062
  );
8845
9063
  {
8846
9064
  endMeasure(instance, `patch`);
@@ -8901,10 +9119,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8901
9119
  updateProps(instance, nextVNode.props, prevProps, optimized);
8902
9120
  updateSlots(instance, nextVNode.children, optimized);
8903
9121
  pauseTracking();
8904
- flushPreFlushCbs();
9122
+ flushPreFlushCbs(instance);
8905
9123
  resetTracking();
8906
9124
  };
8907
- const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized = false) => {
9125
+ const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized = false) => {
8908
9126
  const c1 = n1 && n1.children;
8909
9127
  const prevShapeFlag = n1 ? n1.shapeFlag : 0;
8910
9128
  const c2 = n2.children;
@@ -8918,7 +9136,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8918
9136
  anchor,
8919
9137
  parentComponent,
8920
9138
  parentSuspense,
8921
- isSVG,
9139
+ namespace,
8922
9140
  slotScopeIds,
8923
9141
  optimized
8924
9142
  );
@@ -8931,7 +9149,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8931
9149
  anchor,
8932
9150
  parentComponent,
8933
9151
  parentSuspense,
8934
- isSVG,
9152
+ namespace,
8935
9153
  slotScopeIds,
8936
9154
  optimized
8937
9155
  );
@@ -8955,7 +9173,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8955
9173
  anchor,
8956
9174
  parentComponent,
8957
9175
  parentSuspense,
8958
- isSVG,
9176
+ namespace,
8959
9177
  slotScopeIds,
8960
9178
  optimized
8961
9179
  );
@@ -8973,7 +9191,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8973
9191
  anchor,
8974
9192
  parentComponent,
8975
9193
  parentSuspense,
8976
- isSVG,
9194
+ namespace,
8977
9195
  slotScopeIds,
8978
9196
  optimized
8979
9197
  );
@@ -8981,7 +9199,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8981
9199
  }
8982
9200
  }
8983
9201
  };
8984
- const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
9202
+ const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
8985
9203
  c1 = c1 || EMPTY_ARR;
8986
9204
  c2 = c2 || EMPTY_ARR;
8987
9205
  const oldLength = c1.length;
@@ -8997,7 +9215,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8997
9215
  null,
8998
9216
  parentComponent,
8999
9217
  parentSuspense,
9000
- isSVG,
9218
+ namespace,
9001
9219
  slotScopeIds,
9002
9220
  optimized
9003
9221
  );
@@ -9018,14 +9236,14 @@ function baseCreateRenderer(options, createHydrationFns) {
9018
9236
  anchor,
9019
9237
  parentComponent,
9020
9238
  parentSuspense,
9021
- isSVG,
9239
+ namespace,
9022
9240
  slotScopeIds,
9023
9241
  optimized,
9024
9242
  commonLength
9025
9243
  );
9026
9244
  }
9027
9245
  };
9028
- const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
9246
+ const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
9029
9247
  let i = 0;
9030
9248
  const l2 = c2.length;
9031
9249
  let e1 = c1.length - 1;
@@ -9041,7 +9259,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9041
9259
  null,
9042
9260
  parentComponent,
9043
9261
  parentSuspense,
9044
- isSVG,
9262
+ namespace,
9045
9263
  slotScopeIds,
9046
9264
  optimized
9047
9265
  );
@@ -9061,7 +9279,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9061
9279
  null,
9062
9280
  parentComponent,
9063
9281
  parentSuspense,
9064
- isSVG,
9282
+ namespace,
9065
9283
  slotScopeIds,
9066
9284
  optimized
9067
9285
  );
@@ -9083,7 +9301,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9083
9301
  anchor,
9084
9302
  parentComponent,
9085
9303
  parentSuspense,
9086
- isSVG,
9304
+ namespace,
9087
9305
  slotScopeIds,
9088
9306
  optimized
9089
9307
  );
@@ -9153,7 +9371,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9153
9371
  null,
9154
9372
  parentComponent,
9155
9373
  parentSuspense,
9156
- isSVG,
9374
+ namespace,
9157
9375
  slotScopeIds,
9158
9376
  optimized
9159
9377
  );
@@ -9174,7 +9392,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9174
9392
  anchor,
9175
9393
  parentComponent,
9176
9394
  parentSuspense,
9177
- isSVG,
9395
+ namespace,
9178
9396
  slotScopeIds,
9179
9397
  optimized
9180
9398
  );
@@ -9404,13 +9622,21 @@ function baseCreateRenderer(options, createHydrationFns) {
9404
9622
  }
9405
9623
  return hostNextSibling(vnode.anchor || vnode.el);
9406
9624
  };
9407
- const render = (vnode, container, isSVG) => {
9625
+ const render = (vnode, container, namespace) => {
9408
9626
  if (vnode == null) {
9409
9627
  if (container._vnode) {
9410
9628
  unmount(container._vnode, null, null, true);
9411
9629
  }
9412
9630
  } else {
9413
- patch(container._vnode || null, vnode, container, null, null, null, isSVG);
9631
+ patch(
9632
+ container._vnode || null,
9633
+ vnode,
9634
+ container,
9635
+ null,
9636
+ null,
9637
+ null,
9638
+ namespace
9639
+ );
9414
9640
  }
9415
9641
  flushPreFlushCbs();
9416
9642
  flushPostFlushCbs();
@@ -9441,6 +9667,9 @@ function baseCreateRenderer(options, createHydrationFns) {
9441
9667
  createApp: createAppAPI(render, hydrate)
9442
9668
  };
9443
9669
  }
9670
+ function resolveChildrenNamespace({ type, props }, currentNamespace) {
9671
+ return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
9672
+ }
9444
9673
  function toggleRecurse({ effect, update }, allowed) {
9445
9674
  effect.allowRecurse = update.allowRecurse = allowed;
9446
9675
  }
@@ -9511,10 +9740,21 @@ function getSequence(arr) {
9511
9740
  }
9512
9741
  return result;
9513
9742
  }
9743
+ function locateNonHydratedAsyncRoot(instance) {
9744
+ const subComponent = instance.subTree.component;
9745
+ if (subComponent) {
9746
+ if (subComponent.asyncDep && !subComponent.asyncResolved) {
9747
+ return subComponent;
9748
+ } else {
9749
+ return locateNonHydratedAsyncRoot(subComponent);
9750
+ }
9751
+ }
9752
+ }
9514
9753
 
9515
9754
  const isTeleport = (type) => type.__isTeleport;
9516
9755
  const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
9517
9756
  const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement;
9757
+ const isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement;
9518
9758
  const resolveTarget = (props, select) => {
9519
9759
  const targetSelector = props && props.to;
9520
9760
  if (isString(targetSelector)) {
@@ -9542,7 +9782,7 @@ const resolveTarget = (props, select) => {
9542
9782
  const TeleportImpl = {
9543
9783
  name: "Teleport",
9544
9784
  __isTeleport: true,
9545
- process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals) {
9785
+ process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {
9546
9786
  const {
9547
9787
  mc: mountChildren,
9548
9788
  pc: patchChildren,
@@ -9564,7 +9804,11 @@ const TeleportImpl = {
9564
9804
  const targetAnchor = n2.targetAnchor = createText("");
9565
9805
  if (target) {
9566
9806
  insert(targetAnchor, target);
9567
- isSVG = isSVG || isTargetSVG(target);
9807
+ if (namespace === "svg" || isTargetSVG(target)) {
9808
+ namespace = "svg";
9809
+ } else if (namespace === "mathml" || isTargetMathML(target)) {
9810
+ namespace = "mathml";
9811
+ }
9568
9812
  } else if (!disabled) {
9569
9813
  warn("Invalid Teleport target on mount:", target, `(${typeof target})`);
9570
9814
  }
@@ -9576,7 +9820,7 @@ const TeleportImpl = {
9576
9820
  anchor2,
9577
9821
  parentComponent,
9578
9822
  parentSuspense,
9579
- isSVG,
9823
+ namespace,
9580
9824
  slotScopeIds,
9581
9825
  optimized
9582
9826
  );
@@ -9595,7 +9839,11 @@ const TeleportImpl = {
9595
9839
  const wasDisabled = isTeleportDisabled(n1.props);
9596
9840
  const currentContainer = wasDisabled ? container : target;
9597
9841
  const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;
9598
- isSVG = isSVG || isTargetSVG(target);
9842
+ if (namespace === "svg" || isTargetSVG(target)) {
9843
+ namespace = "svg";
9844
+ } else if (namespace === "mathml" || isTargetMathML(target)) {
9845
+ namespace = "mathml";
9846
+ }
9599
9847
  if (dynamicChildren) {
9600
9848
  patchBlockChildren(
9601
9849
  n1.dynamicChildren,
@@ -9603,7 +9851,7 @@ const TeleportImpl = {
9603
9851
  currentContainer,
9604
9852
  parentComponent,
9605
9853
  parentSuspense,
9606
- isSVG,
9854
+ namespace,
9607
9855
  slotScopeIds
9608
9856
  );
9609
9857
  traverseStaticChildren(n1, n2, true);
@@ -9615,7 +9863,7 @@ const TeleportImpl = {
9615
9863
  currentAnchor,
9616
9864
  parentComponent,
9617
9865
  parentSuspense,
9618
- isSVG,
9866
+ namespace,
9619
9867
  slotScopeIds,
9620
9868
  false
9621
9869
  );
@@ -10299,10 +10547,14 @@ function createComponentInstance(vnode, parent, suspense) {
10299
10547
  let currentInstance = null;
10300
10548
  const getCurrentInstance = () => currentInstance || currentRenderingInstance;
10301
10549
  let internalSetCurrentInstance;
10550
+ let setInSSRSetupState;
10302
10551
  {
10303
10552
  internalSetCurrentInstance = (i) => {
10304
10553
  currentInstance = i;
10305
10554
  };
10555
+ setInSSRSetupState = (v) => {
10556
+ isInSSRComponentSetup = v;
10557
+ };
10306
10558
  }
10307
10559
  const setCurrentInstance = (instance) => {
10308
10560
  internalSetCurrentInstance(instance);
@@ -10326,13 +10578,13 @@ function isStatefulComponent(instance) {
10326
10578
  }
10327
10579
  let isInSSRComponentSetup = false;
10328
10580
  function setupComponent(instance, isSSR = false) {
10329
- isInSSRComponentSetup = isSSR;
10581
+ isSSR && setInSSRSetupState(isSSR);
10330
10582
  const { props, children } = instance.vnode;
10331
10583
  const isStateful = isStatefulComponent(instance);
10332
10584
  initProps(instance, props, isStateful, isSSR);
10333
10585
  initSlots(instance, children);
10334
10586
  const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
10335
- isInSSRComponentSetup = false;
10587
+ isSSR && setInSSRSetupState(false);
10336
10588
  return setupResult;
10337
10589
  }
10338
10590
  function setupStatefulComponent(instance, isSSR) {
@@ -10660,9 +10912,9 @@ function initCustomFormatter() {
10660
10912
  return;
10661
10913
  }
10662
10914
  const vueStyle = { style: "color:#3ba776" };
10663
- const numberStyle = { style: "color:#0b1bc9" };
10664
- const stringStyle = { style: "color:#b62e24" };
10665
- const keywordStyle = { style: "color:#9d288c" };
10915
+ const numberStyle = { style: "color:#1677ff" };
10916
+ const stringStyle = { style: "color:#f5222d" };
10917
+ const keywordStyle = { style: "color:#eb2f96" };
10666
10918
  const formatter = {
10667
10919
  header(obj) {
10668
10920
  if (!isObject(obj)) {
@@ -10856,7 +11108,7 @@ function isMemoSame(cached, memo) {
10856
11108
  return true;
10857
11109
  }
10858
11110
 
10859
- const version = "3.4.0-alpha.3";
11111
+ const version = "3.4.0-beta.1";
10860
11112
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10861
11113
  const ssrUtils = null;
10862
11114
  const resolveFilter = resolveFilter$1 ;
@@ -10868,8 +11120,10 @@ const _compatUtils = {
10868
11120
  softAssertCompatEnabled
10869
11121
  };
10870
11122
  const compatUtils = _compatUtils ;
11123
+ const DeprecationTypes = DeprecationTypes$1 ;
10871
11124
 
10872
11125
  const svgNS = "http://www.w3.org/2000/svg";
11126
+ const mathmlNS = "http://www.w3.org/1998/Math/MathML";
10873
11127
  const doc = typeof document !== "undefined" ? document : null;
10874
11128
  const templateContainer = doc && /* @__PURE__ */ doc.createElement("template");
10875
11129
  const nodeOps = {
@@ -10882,8 +11136,8 @@ const nodeOps = {
10882
11136
  parent.removeChild(child);
10883
11137
  }
10884
11138
  },
10885
- createElement: (tag, isSVG, is, props) => {
10886
- const el = isSVG ? doc.createElementNS(svgNS, tag) : doc.createElement(tag, is ? { is } : void 0);
11139
+ createElement: (tag, namespace, is, props) => {
11140
+ const el = namespace === "svg" ? doc.createElementNS(svgNS, tag) : namespace === "mathml" ? doc.createElementNS(mathmlNS, tag) : doc.createElement(tag, is ? { is } : void 0);
10887
11141
  if (tag === "select" && props && props.multiple != null) {
10888
11142
  el.setAttribute("multiple", props.multiple);
10889
11143
  }
@@ -10907,7 +11161,7 @@ const nodeOps = {
10907
11161
  // Reason: innerHTML.
10908
11162
  // Static content here can only come from compiled templates.
10909
11163
  // As long as the user only uses trusted templates, this is safe.
10910
- insertStaticContent(content, parent, anchor, isSVG, start, end) {
11164
+ insertStaticContent(content, parent, anchor, namespace, start, end) {
10911
11165
  const before = anchor ? anchor.previousSibling : parent.lastChild;
10912
11166
  if (start && (start === end || start.nextSibling)) {
10913
11167
  while (true) {
@@ -10916,9 +11170,9 @@ const nodeOps = {
10916
11170
  break;
10917
11171
  }
10918
11172
  } else {
10919
- templateContainer.innerHTML = isSVG ? `<svg>${content}</svg>` : content;
11173
+ templateContainer.innerHTML = namespace === "svg" ? `<svg>${content}</svg>` : namespace === "mathml" ? `<math>${content}</math>` : content;
10920
11174
  const template = templateContainer.content;
10921
- if (isSVG) {
11175
+ if (namespace === "svg" || namespace === "mathml") {
10922
11176
  const wrapper = template.firstChild;
10923
11177
  while (wrapper.firstChild) {
10924
11178
  template.appendChild(wrapper.firstChild);
@@ -11556,8 +11810,10 @@ function patchStopImmediatePropagation(e, value) {
11556
11810
  }
11557
11811
  }
11558
11812
 
11559
- const nativeOnRE = /^on[a-z]/;
11560
- const patchProp = (el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) => {
11813
+ const isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter
11814
+ key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;
11815
+ const patchProp = (el, key, prevValue, nextValue, namespace, prevChildren, parentComponent, parentSuspense, unmountChildren) => {
11816
+ const isSVG = namespace === "svg";
11561
11817
  if (key === "class") {
11562
11818
  patchClass(el, nextValue, isSVG);
11563
11819
  } else if (key === "style") {
@@ -11590,7 +11846,7 @@ function shouldSetAsProp(el, key, value, isSVG) {
11590
11846
  if (key === "innerHTML" || key === "textContent") {
11591
11847
  return true;
11592
11848
  }
11593
- if (key in el && nativeOnRE.test(key) && isFunction(value)) {
11849
+ if (key in el && isNativeOn(key) && isFunction(value)) {
11594
11850
  return true;
11595
11851
  }
11596
11852
  return false;
@@ -11607,7 +11863,13 @@ function shouldSetAsProp(el, key, value, isSVG) {
11607
11863
  if (key === "type" && el.tagName === "TEXTAREA") {
11608
11864
  return false;
11609
11865
  }
11610
- if (nativeOnRE.test(key) && isString(value)) {
11866
+ if (key === "width" || key === "height") {
11867
+ const tag = el.tagName;
11868
+ if (tag === "IMG" || tag === "VIDEO" || tag === "CANVAS" || tag === "SOURCE") {
11869
+ return false;
11870
+ }
11871
+ }
11872
+ if (isNativeOn(key) && isString(value)) {
11611
11873
  return false;
11612
11874
  }
11613
11875
  return key in el;
@@ -12297,14 +12559,14 @@ const modifierGuards = {
12297
12559
  exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
12298
12560
  };
12299
12561
  const withModifiers = (fn, modifiers) => {
12300
- return (event, ...args) => {
12562
+ return fn._withMods || (fn._withMods = (event, ...args) => {
12301
12563
  for (let i = 0; i < modifiers.length; i++) {
12302
12564
  const guard = modifierGuards[modifiers[i]];
12303
12565
  if (guard && guard(event, modifiers))
12304
12566
  return;
12305
12567
  }
12306
12568
  return fn(event, ...args);
12307
- };
12569
+ });
12308
12570
  };
12309
12571
  const keyNames = {
12310
12572
  esc: "escape",
@@ -12332,7 +12594,7 @@ const withKeys = (fn, modifiers) => {
12332
12594
  );
12333
12595
  }
12334
12596
  }
12335
- return (event) => {
12597
+ return fn._withKeys || (fn._withKeys = (event) => {
12336
12598
  if (!("key" in event)) {
12337
12599
  return;
12338
12600
  }
@@ -12360,7 +12622,7 @@ const withKeys = (fn, modifiers) => {
12360
12622
  }
12361
12623
  }
12362
12624
  }
12363
- };
12625
+ });
12364
12626
  };
12365
12627
 
12366
12628
  const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
@@ -12408,7 +12670,7 @@ const createApp = (...args) => {
12408
12670
  }
12409
12671
  }
12410
12672
  container.innerHTML = "";
12411
- const proxy = mount(container, false, container instanceof SVGElement);
12673
+ const proxy = mount(container, false, resolveRootNamespace(container));
12412
12674
  if (container instanceof Element) {
12413
12675
  container.removeAttribute("v-cloak");
12414
12676
  container.setAttribute("data-v-app", "");
@@ -12427,14 +12689,22 @@ const createSSRApp = (...args) => {
12427
12689
  app.mount = (containerOrSelector) => {
12428
12690
  const container = normalizeContainer(containerOrSelector);
12429
12691
  if (container) {
12430
- return mount(container, true, container instanceof SVGElement);
12692
+ return mount(container, true, resolveRootNamespace(container));
12431
12693
  }
12432
12694
  };
12433
12695
  return app;
12434
12696
  };
12697
+ function resolveRootNamespace(container) {
12698
+ if (container instanceof SVGElement) {
12699
+ return "svg";
12700
+ }
12701
+ if (typeof MathMLElement === "function" && container instanceof MathMLElement) {
12702
+ return "mathml";
12703
+ }
12704
+ }
12435
12705
  function injectNativeTagCheck(app) {
12436
12706
  Object.defineProperty(app.config, "isNativeTag", {
12437
- value: (tag) => isHTMLTag(tag) || isSVGTag(tag),
12707
+ value: (tag) => isHTMLTag(tag) || isSVGTag(tag) || isMathMLTag(tag),
12438
12708
  writable: false
12439
12709
  });
12440
12710
  }
@@ -12491,7 +12761,9 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
12491
12761
  BaseTransition: BaseTransition,
12492
12762
  BaseTransitionPropsValidators: BaseTransitionPropsValidators,
12493
12763
  Comment: Comment,
12764
+ DeprecationTypes: DeprecationTypes,
12494
12765
  EffectScope: EffectScope,
12766
+ ErrorCodes: ErrorCodes,
12495
12767
  ErrorTypeStrings: ErrorTypeStrings,
12496
12768
  Fragment: Fragment,
12497
12769
  KeepAlive: KeepAlive,
@@ -12500,8 +12772,10 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
12500
12772
  Suspense: Suspense,
12501
12773
  Teleport: Teleport,
12502
12774
  Text: Text,
12775
+ TrackOpTypes: TrackOpTypes,
12503
12776
  Transition: Transition,
12504
12777
  TransitionGroup: TransitionGroup,
12778
+ TriggerOpTypes: TriggerOpTypes,
12505
12779
  VueElement: VueElement,
12506
12780
  assertNumber: assertNumber,
12507
12781
  callWithAsyncErrorHandling: callWithAsyncErrorHandling,
@@ -12689,4 +12963,4 @@ var Vue$1 = Vue;
12689
12963
 
12690
12964
  const { configureCompat } = Vue$1;
12691
12965
 
12692
- export { BaseTransition, BaseTransitionPropsValidators, Comment, EffectScope, ErrorTypeStrings, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, Transition, TransitionGroup, VueElement, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, computed, configureCompat, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, Vue$1 as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrate, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toValue, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useModel, useSSRContext, useSlots, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };
12966
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TriggerOpTypes, VueElement, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, computed, configureCompat, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, Vue$1 as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrate, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toValue, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useModel, useSSRContext, useSlots, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };