@vuetify/nightly 3.10.9-dev.2025-11-06 → 3.10.9-dev.2025-11-09

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
- * Vuetify v3.10.9-dev.2025-11-06
2
+ * Vuetify v3.10.9-dev.2025-11-09
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -19482,16 +19482,9 @@
19482
19482
  vue.nextTick(() => vVirtualScrollRef.value?.scrollToIndex(0));
19483
19483
  }
19484
19484
  if (val && props.multiple && props.delimiters?.length) {
19485
- const signsToMatch = props.delimiters.map(escapeForRegex).join('|');
19486
- const values = val.split(new RegExp(`(?:${signsToMatch})+`));
19485
+ const values = splitByDelimiters(val);
19487
19486
  if (values.length > 1) {
19488
- for (let v of values) {
19489
- v = v.trim();
19490
- if (v) {
19491
- select(transformItem$3(props, v));
19492
- await vue.nextTick();
19493
- }
19494
- }
19487
+ selectMultiple(values);
19495
19488
  _search.value = '';
19496
19489
  }
19497
19490
  }
@@ -19638,6 +19631,14 @@
19638
19631
  selectionIndex.value = -1;
19639
19632
  }
19640
19633
  }
19634
+ function onPaste(e) {
19635
+ const clipboardText = e?.clipboardData?.getData('Text') ?? '';
19636
+ const values = splitByDelimiters(clipboardText);
19637
+ if (values.length > 1 && props.multiple) {
19638
+ e.preventDefault();
19639
+ selectMultiple(values);
19640
+ }
19641
+ }
19641
19642
  function onAfterEnter() {
19642
19643
  if (props.eager) {
19643
19644
  vVirtualScrollRef.value?.calculateVisibleItems();
@@ -19683,6 +19684,20 @@
19683
19684
  });
19684
19685
  }
19685
19686
  }
19687
+ function splitByDelimiters(val) {
19688
+ const effectiveDelimiters = ['\n', ...(props.delimiters ?? [])];
19689
+ const signsToMatch = effectiveDelimiters.map(escapeForRegex).join('|');
19690
+ return val.split(new RegExp(`(?:${signsToMatch})+`));
19691
+ }
19692
+ async function selectMultiple(values) {
19693
+ for (let value of values) {
19694
+ value = value.trim();
19695
+ if (value) {
19696
+ select(transformItem$3(props, value));
19697
+ await vue.nextTick();
19698
+ }
19699
+ }
19700
+ }
19686
19701
  function onFocusin(e) {
19687
19702
  isFocused.value = true;
19688
19703
  setTimeout(() => {
@@ -19756,6 +19771,7 @@
19756
19771
  "onClick:clear": onClear,
19757
19772
  "onMousedown:control": onMousedownControl,
19758
19773
  "onKeydown": onKeydown,
19774
+ "onPaste": onPaste,
19759
19775
  "aria-expanded": ariaExpanded.value,
19760
19776
  "aria-controls": ariaControls.value
19761
19777
  }), {
@@ -25832,7 +25848,9 @@
25832
25848
  const effectiveSide = side ?? props.side;
25833
25849
  setStatus(effectiveSide, 'ok');
25834
25850
  vue.nextTick(() => {
25835
- setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount());
25851
+ if (effectiveSide !== 'end') {
25852
+ setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount());
25853
+ }
25836
25854
  if (props.mode !== 'manual') {
25837
25855
  vue.nextTick(() => {
25838
25856
  // See #17475
@@ -38393,7 +38411,7 @@
38393
38411
  };
38394
38412
  });
38395
38413
  }
38396
- const version$1 = "3.10.9-dev.2025-11-06";
38414
+ const version$1 = "3.10.9-dev.2025-11-09";
38397
38415
  createVuetify$1.version = version$1;
38398
38416
 
38399
38417
  // Vue's inject() can only be used in setup
@@ -38691,7 +38709,7 @@
38691
38709
 
38692
38710
  /* eslint-disable local-rules/sort-imports */
38693
38711
 
38694
- const version = "3.10.9-dev.2025-11-06";
38712
+ const version = "3.10.9-dev.2025-11-09";
38695
38713
 
38696
38714
  /* eslint-disable local-rules/sort-imports */
38697
38715