@vtj/materials 0.18.29 → 0.19.0

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.5.40
2
+ * vue v3.5.41
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -270,7 +270,7 @@ var Vue = (function (exports) {
270
270
  const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
271
271
  const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
272
272
  const isBooleanAttr = /* @__PURE__ */ makeMap(
273
- specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`
273
+ specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`
274
274
  );
275
275
  function includeBooleanAttr(value) {
276
276
  return !!value || value === "";
@@ -2673,7 +2673,9 @@ var Vue = (function (exports) {
2673
2673
  cb.flags |= 1;
2674
2674
  }
2675
2675
  } else {
2676
- pendingPostFlushCbs.push(...cb);
2676
+ for (let i = 0; i < cb.length; i++) {
2677
+ pendingPostFlushCbs.push(cb[i]);
2678
+ }
2677
2679
  }
2678
2680
  queueFlush();
2679
2681
  }
@@ -2709,7 +2711,9 @@ var Vue = (function (exports) {
2709
2711
  );
2710
2712
  pendingPostFlushCbs.length = 0;
2711
2713
  if (activePostFlushCbs) {
2712
- activePostFlushCbs.push(...deduped);
2714
+ for (let i = 0; i < deduped.length; i++) {
2715
+ activePostFlushCbs.push(deduped[i]);
2716
+ }
2713
2717
  return;
2714
2718
  }
2715
2719
  activePostFlushCbs = deduped;
@@ -3970,7 +3974,11 @@ var Vue = (function (exports) {
3970
3974
  function setTransitionHooks(vnode, hooks) {
3971
3975
  if (vnode.shapeFlag & 6 && vnode.component) {
3972
3976
  vnode.transition = hooks;
3973
- setTransitionHooks(vnode.component.subTree, hooks);
3977
+ const subTree = vnode.component.subTree;
3978
+ setTransitionHooks(
3979
+ isTeleport(subTree.type) ? getInnerChild$1(subTree) || subTree : subTree,
3980
+ hooks
3981
+ );
3974
3982
  } else if (vnode.shapeFlag & 128) {
3975
3983
  vnode.ssContent.transition = hooks.clone(vnode.ssContent);
3976
3984
  vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
@@ -4510,6 +4518,9 @@ Server rendered element contains more child nodes than client vdom.`
4510
4518
  }
4511
4519
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
4512
4520
  key[0] === "." || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {
4521
+ if (isUnchangedResourceProp(el, key, props[key])) {
4522
+ continue;
4523
+ }
4513
4524
  patchProp(el, key, null, props[key], namespace, parentComponent);
4514
4525
  }
4515
4526
  }
@@ -4692,6 +4703,13 @@ Server rendered element contains fewer child nodes than client vdom.`
4692
4703
  };
4693
4704
  return [hydrate, hydrateNode];
4694
4705
  }
4706
+ const resourceProps = /* @__PURE__ */ new Set(["src", "srcset", "href", "poster"]);
4707
+ function isUnchangedResourceProp(el, key, clientValue) {
4708
+ if (!resourceProps.has(key)) {
4709
+ return false;
4710
+ }
4711
+ return el.getAttribute(key) === (clientValue == null ? null : `${clientValue}`);
4712
+ }
4695
4713
  function propHasMismatch(el, key, clientValue, vnode, instance) {
4696
4714
  let mismatchType;
4697
4715
  let mismatchKey;
@@ -4729,7 +4747,10 @@ Server rendered element contains fewer child nodes than client vdom.`
4729
4747
  mismatchKey = "style";
4730
4748
  }
4731
4749
  } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {
4732
- if (isBooleanAttr(key)) {
4750
+ if (key === "hidden") {
4751
+ actual = normalizeHiddenValue(el.getAttribute(key));
4752
+ expected = normalizeHiddenValue(clientValue);
4753
+ } else if (isBooleanAttr(key)) {
4733
4754
  actual = el.hasAttribute(key);
4734
4755
  expected = includeBooleanAttr(clientValue);
4735
4756
  } else if (clientValue == null) {
@@ -4765,6 +4786,15 @@ Server rendered element contains fewer child nodes than client vdom.`
4765
4786
  }
4766
4787
  return false;
4767
4788
  }
4789
+ function normalizeHiddenValue(value) {
4790
+ if (!isRenderableAttrValue(value)) {
4791
+ return false;
4792
+ }
4793
+ if (isString(value)) {
4794
+ return value.toLowerCase() === "until-found" ? "until-found" : "";
4795
+ }
4796
+ return includeBooleanAttr(value) ? "" : false;
4797
+ }
4768
4798
  function toClassSet(str) {
4769
4799
  return new Set(str.trim().split(/\s+/));
4770
4800
  }
@@ -5578,7 +5608,8 @@ If this is a native custom element, make sure to exclude it from component resol
5578
5608
  return slots;
5579
5609
  }
5580
5610
 
5581
- function renderSlot(slots, name, props = {}, fallback, noSlotted, branchKey) {
5611
+ function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
5612
+ if (props == null) props = {};
5582
5613
  if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
5583
5614
  const slotProps = branchKey != null && props.key == null ? extend({}, props, { key: branchKey }) : props;
5584
5615
  const hasProps = Object.keys(slotProps).length > 0;
@@ -6999,12 +7030,13 @@ If you want to remount the same app, move your app creation logic into a factory
6999
7030
  root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
7000
7031
  }
7001
7032
  if (vnode.transition) {
7002
- if (!isElementRoot(root)) {
7033
+ const child = isTeleport(root.type) ? getInnerChild$1(root) || root : root;
7034
+ if (!isElementRoot(child)) {
7003
7035
  warn$1(
7004
7036
  `Component inside <Transition> renders non-element root node that cannot be animated.`
7005
7037
  );
7006
7038
  }
7007
- setTransitionHooks(root, vnode.transition);
7039
+ setTransitionHooks(child, vnode.transition);
7008
7040
  }
7009
7041
  if (setRoot) {
7010
7042
  setRoot(root);
@@ -9652,7 +9684,9 @@ If you want to remount the same app, move your app creation logic into a factory
9652
9684
  let hasUnresolvedAncestor = false;
9653
9685
  while (parent) {
9654
9686
  if (parent.pendingBranch) {
9655
- parent.effects.push(...effects);
9687
+ for (let i = 0; i < effects.length; i++) {
9688
+ parent.effects.push(effects[i]);
9689
+ }
9656
9690
  hasUnresolvedAncestor = true;
9657
9691
  break;
9658
9692
  }
@@ -10017,6 +10051,14 @@ If you want to remount the same app, move your app creation logic into a factory
10017
10051
  if (vnode.key !== vnode.key) {
10018
10052
  warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
10019
10053
  }
10054
+ if (props && vnode.shapeFlag & 1) {
10055
+ const overwritingProp = props.innerHTML != null ? "innerHTML" : props.textContent != null ? "textContent" : null;
10056
+ if (overwritingProp && hasContentChildren(vnode.children)) {
10057
+ warn$1(
10058
+ `The \`${overwritingProp}\` prop on <${vnode.type}> will override its children. Remove either the \`${overwritingProp}\` prop or the children.`
10059
+ );
10060
+ }
10061
+ }
10020
10062
  if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
10021
10063
  !isBlockNode && // has current parent block
10022
10064
  currentBlock && // presence of a patch flag indicates this node needs patching on updates.
@@ -10030,6 +10072,11 @@ If you want to remount the same app, move your app creation logic into a factory
10030
10072
  }
10031
10073
  return vnode;
10032
10074
  }
10075
+ function hasContentChildren(children) {
10076
+ if (isString(children)) return children !== "";
10077
+ if (isArray(children)) return children.length > 0;
10078
+ return false;
10079
+ }
10033
10080
  const createVNode = createVNodeWithArgsTransform ;
10034
10081
  function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
10035
10082
  if (!type || type === NULL_DYNAMIC_COMPONENT) {
@@ -10466,7 +10513,12 @@ Component that was made reactive: `,
10466
10513
  setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
10467
10514
  if (isSSR) {
10468
10515
  return setupResult.then((resolvedResult) => {
10469
- handleSetupResult(instance, resolvedResult, isSSR);
10516
+ setInSSRSetupState(true);
10517
+ try {
10518
+ handleSetupResult(instance, resolvedResult, isSSR);
10519
+ } finally {
10520
+ setInSSRSetupState(false);
10521
+ }
10470
10522
  }).catch((e) => {
10471
10523
  handleError(e, instance, 0);
10472
10524
  });
@@ -10930,7 +10982,7 @@ Component that was made reactive: `,
10930
10982
  return true;
10931
10983
  }
10932
10984
 
10933
- const version = "3.5.40";
10985
+ const version = "3.5.41";
10934
10986
  const warn = warn$1 ;
10935
10987
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10936
10988
  const devtools = devtools$1 ;
@@ -11881,7 +11933,9 @@ Expected function or array of functions, received type ${typeof value}.`
11881
11933
  if (parent && parent._pendingResolve) {
11882
11934
  this._pendingResolve = parent._pendingResolve.then(() => {
11883
11935
  this._pendingResolve = void 0;
11884
- this._resolveDef();
11936
+ if (this.isConnected) {
11937
+ return this._resolveDef();
11938
+ }
11885
11939
  });
11886
11940
  } else {
11887
11941
  this._resolveDef();
@@ -11931,7 +11985,7 @@ Expected function or array of functions, received type ${typeof value}.`
11931
11985
  */
11932
11986
  _resolveDef() {
11933
11987
  if (this._pendingResolve) {
11934
- return;
11988
+ return this._pendingResolve;
11935
11989
  }
11936
11990
  for (let i = 0; i < this.attributes.length; i++) {
11937
11991
  this._setAttr(this.attributes[i].name);
@@ -11971,6 +12025,7 @@ Expected function or array of functions, received type ${typeof value}.`
11971
12025
  def.configureApp = this._def.configureApp;
11972
12026
  resolve(this._def = def, true);
11973
12027
  });
12028
+ return this._pendingResolve;
11974
12029
  } else {
11975
12030
  resolve(this._def);
11976
12031
  }
@@ -12008,6 +12063,11 @@ Expected function or array of functions, received type ${typeof value}.`
12008
12063
  }
12009
12064
  }
12010
12065
  for (const key of declaredPropKeys.map(camelize)) {
12066
+ if (key in Object.getPrototypeOf(this)) {
12067
+ warn(
12068
+ `Custom element prop "${key}" conflicts with an existing property on the element and will overwrite it.`
12069
+ );
12070
+ }
12011
12071
  Object.defineProperty(this, key, {
12012
12072
  get() {
12013
12073
  return this._getProp(key);
@@ -12480,6 +12540,7 @@ Expected function or array of functions, received type ${typeof value}.`
12480
12540
  }
12481
12541
  }
12482
12542
  const assignKey = /* @__PURE__ */ Symbol("_assign");
12543
+ const initialValueKey = /* @__PURE__ */ Symbol("_initialValue");
12483
12544
  function castValue(value, trim, number) {
12484
12545
  if (trim) value = value.trim();
12485
12546
  if (number) value = looseToNumber(value);
@@ -12487,6 +12548,13 @@ Expected function or array of functions, received type ${typeof value}.`
12487
12548
  }
12488
12549
  const vModelText = {
12489
12550
  created(el, { modifiers: { lazy, trim, number } }, vnode) {
12551
+ if (el.parentNode) {
12552
+ if (el.type === "text") {
12553
+ el[initialValueKey] = el.defaultValue.replace(/[\r\n]/g, "");
12554
+ } else if (el.type === "textarea") {
12555
+ el[initialValueKey] = el.defaultValue.replace(/\r\n?/g, "\n");
12556
+ }
12557
+ }
12490
12558
  el[assignKey] = getModelAssigner(vnode);
12491
12559
  const castToNumber = number || vnode.props && vnode.props.type === "number";
12492
12560
  addEventListener(el, lazy ? "change" : "input", (e) => {
@@ -12505,8 +12573,15 @@ Expected function or array of functions, received type ${typeof value}.`
12505
12573
  }
12506
12574
  },
12507
12575
  // set value on mounted so it's after min/max for type="range"
12508
- mounted(el, { value }) {
12509
- el.value = value == null ? "" : value;
12576
+ mounted(el, { value, modifiers: { trim, number } }) {
12577
+ const newValue = value == null ? "" : value;
12578
+ const initialValue = el[initialValueKey];
12579
+ delete el[initialValueKey];
12580
+ if (initialValue !== void 0 && (el.type === "text" || el.type === "textarea") && el.value !== initialValue) {
12581
+ el[assignKey](castValue(el.value, trim, number));
12582
+ } else {
12583
+ el.value = newValue;
12584
+ }
12510
12585
  },
12511
12586
  beforeUpdate(el, { value, oldValue, modifiers: { lazy, trim, number } }, vnode) {
12512
12587
  el[assignKey] = getModelAssigner(vnode);
@@ -16459,6 +16534,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16459
16534
  node.loc
16460
16535
  );
16461
16536
  return () => {
16537
+ var _a;
16462
16538
  let childBlock;
16463
16539
  const { children } = forNode;
16464
16540
  if (isTemplate) {
@@ -16502,7 +16578,8 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16502
16578
  if (isTemplate && keyProperty) {
16503
16579
  injectProp(childBlock, keyProperty, context);
16504
16580
  }
16505
- if (childBlock.isBlock !== !isStableFragment) {
16581
+ const shouldUseBlock = !isStableFragment || childBlock.isBlockRequired === true;
16582
+ if (childBlock.isBlock !== shouldUseBlock) {
16506
16583
  if (childBlock.isBlock) {
16507
16584
  removeHelper(OPEN_BLOCK);
16508
16585
  removeHelper(
@@ -16514,12 +16591,15 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16514
16591
  );
16515
16592
  }
16516
16593
  }
16517
- childBlock.isBlock = !isStableFragment;
16594
+ childBlock.isBlock = shouldUseBlock;
16518
16595
  if (childBlock.isBlock) {
16519
16596
  helper(OPEN_BLOCK);
16520
16597
  helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
16521
16598
  } else {
16522
16599
  helper(getVNodeHelper(context.inSSR, childBlock.isComponent));
16600
+ if (childBlock.needsPatch) {
16601
+ childBlock.patchFlag = ((_a = childBlock.patchFlag) != null ? _a : 0) | 512;
16602
+ }
16523
16603
  }
16524
16604
  }
16525
16605
  if (memo) {
@@ -16895,6 +16975,8 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16895
16975
  let vnodeDynamicProps;
16896
16976
  let dynamicPropNames;
16897
16977
  let vnodeDirectives;
16978
+ let needsPatch = false;
16979
+ let isBlockRequired = false;
16898
16980
  let shouldUseBlock = (
16899
16981
  // dynamic component may resolve to plain elements
16900
16982
  isDynamicComponent || vnodeTag === TELEPORT || vnodeTag === SUSPENSE || !isComponent && // <svg> and <foreignObject> must be forced into blocks so that block
@@ -16914,6 +16996,8 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16914
16996
  vnodeProps = propsBuildResult.props;
16915
16997
  patchFlag = propsBuildResult.patchFlag;
16916
16998
  dynamicPropNames = propsBuildResult.dynamicPropNames;
16999
+ needsPatch = propsBuildResult.needsPatch;
17000
+ isBlockRequired = propsBuildResult.isBlockRequired;
16917
17001
  const directives = propsBuildResult.directives;
16918
17002
  vnodeDirectives = directives && directives.length ? createArrayExpression(
16919
17003
  directives.map((dir) => buildDirectiveArgs(dir, context))
@@ -16964,7 +17048,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16964
17048
  if (dynamicPropNames && dynamicPropNames.length) {
16965
17049
  vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames);
16966
17050
  }
16967
- node.codegenNode = createVNodeCall(
17051
+ const vnodeCall = node.codegenNode = createVNodeCall(
16968
17052
  context,
16969
17053
  vnodeTag,
16970
17054
  vnodeProps,
@@ -16977,6 +17061,13 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16977
17061
  isComponent,
16978
17062
  node.loc
16979
17063
  );
17064
+ needsPatch = needsPatch && (patchFlag === 0 || patchFlag === 32);
17065
+ if (needsPatch) {
17066
+ vnodeCall.needsPatch = true;
17067
+ }
17068
+ if (isBlockRequired) {
17069
+ vnodeCall.isBlockRequired = true;
17070
+ }
16980
17071
  };
16981
17072
  };
16982
17073
  function resolveComponentType(node, context, ssr = false) {
@@ -17025,6 +17116,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
17025
17116
  const runtimeDirectives = [];
17026
17117
  const hasChildren = children.length > 0;
17027
17118
  let shouldUseBlock = false;
17119
+ let isBlockRequired = false;
17028
17120
  let patchFlag = 0;
17029
17121
  let hasRef = false;
17030
17122
  let hasClassBinding = false;
@@ -17066,19 +17158,20 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
17066
17158
  if (isEventHandler && isReservedProp(name)) {
17067
17159
  hasVnodeHook = true;
17068
17160
  }
17161
+ if (name === "ref") {
17162
+ hasRef = true;
17163
+ }
17069
17164
  if (isEventHandler && value.type === 14) {
17070
17165
  value = value.arguments[0];
17071
17166
  }
17072
17167
  if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) {
17073
17168
  return;
17074
17169
  }
17075
- if (name === "ref") {
17076
- hasRef = true;
17077
- } else if (name === "class") {
17170
+ if (name === "class") {
17078
17171
  hasClassBinding = true;
17079
17172
  } else if (name === "style") {
17080
17173
  hasStyleBinding = true;
17081
- } else if (name !== "key" && !dynamicPropNames.includes(name)) {
17174
+ } else if (name !== "ref" && name !== "key" && !dynamicPropNames.includes(name)) {
17082
17175
  dynamicPropNames.push(name);
17083
17176
  }
17084
17177
  if (isComponent && (name === "class" || name === "style") && !dynamicPropNames.includes(name)) {
@@ -17131,13 +17224,12 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
17131
17224
  if (isVOn && ssr) {
17132
17225
  continue;
17133
17226
  }
17134
- if (
17135
- // #938: elements with dynamic keys should be forced into blocks
17136
- isVBind && isStaticArgOf(arg, "key") || // inline before-update hooks need to force block so that it is invoked
17137
- // before children
17138
- isVOn && hasChildren && isStaticArgOf(arg, "vue:before-update")
17139
- ) {
17227
+ if (isVBind && isStaticArgOf(arg, "key")) {
17228
+ shouldUseBlock = true;
17229
+ }
17230
+ if (isVOn && hasChildren && arg && isStaticExp(arg) && camelize(arg.content) === "vue:beforeUpdate") {
17140
17231
  shouldUseBlock = true;
17232
+ isBlockRequired = true;
17141
17233
  }
17142
17234
  if (isVBind && isStaticArgOf(arg, "ref")) {
17143
17235
  pushRefVForMarker();
@@ -17189,6 +17281,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
17189
17281
  runtimeDirectives.push(prop);
17190
17282
  if (hasChildren) {
17191
17283
  shouldUseBlock = true;
17284
+ isBlockRequired = true;
17192
17285
  }
17193
17286
  }
17194
17287
  }
@@ -17227,7 +17320,8 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
17227
17320
  patchFlag |= 32;
17228
17321
  }
17229
17322
  }
17230
- if (!shouldUseBlock && (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0)) {
17323
+ const needsPatch = (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0);
17324
+ if (!shouldUseBlock && needsPatch) {
17231
17325
  patchFlag |= 512;
17232
17326
  }
17233
17327
  if (!context.inSSR && propsExpression) {
@@ -17293,7 +17387,9 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
17293
17387
  directives: runtimeDirectives,
17294
17388
  patchFlag,
17295
17389
  dynamicPropNames,
17296
- shouldUseBlock
17390
+ shouldUseBlock,
17391
+ needsPatch,
17392
+ isBlockRequired
17297
17393
  };
17298
17394
  }
17299
17395
  function dedupeProperties(properties) {