@vuetify/nightly 3.8.3-master.2025-04-30 → 3.8.3-master.2025-05-01

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.8.3-master.2025-04-30
2
+ * Vuetify v3.8.3-master.2025-05-01
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -18995,7 +18995,7 @@
18995
18995
  index = index ?? currentPage.value.findIndex(i => i.value === item.value);
18996
18996
  if (props.selectStrategy !== 'single' && event?.shiftKey && lastSelectedIndex.value !== null) {
18997
18997
  const [start, end] = [lastSelectedIndex.value, index].sort((a, b) => a - b);
18998
- items.push(...currentPage.value.slice(start, end + 1));
18998
+ items.push(...currentPage.value.slice(start, end + 1).filter(item => item.selectable));
18999
18999
  } else {
19000
19000
  items.push(item);
19001
19001
  lastSelectedIndex.value = index;
@@ -29065,7 +29065,13 @@
29065
29065
  type: String,
29066
29066
  default: 'bottom start'
29067
29067
  },
29068
- ...makeDisplayProps(),
29068
+ updateOn: {
29069
+ type: Array,
29070
+ default: () => ['blur', 'enter']
29071
+ },
29072
+ ...makeDisplayProps({
29073
+ mobile: null
29074
+ }),
29069
29075
  ...makeFocusProps(),
29070
29076
  ...makeVConfirmEditProps({
29071
29077
  hideActions: true
@@ -29135,7 +29141,10 @@
29135
29141
  return 'none';
29136
29142
  });
29137
29143
  const isInteractive = vue.computed(() => !props.disabled && !props.readonly);
29138
- const isReadonly = vue.computed(() => !(mobile.value && isEditingInput.value) && props.readonly);
29144
+ const isReadonly = vue.computed(() => {
29145
+ if (!props.updateOn.length) return true;
29146
+ return !(mobile.value && isEditingInput.value) && props.readonly;
29147
+ });
29139
29148
  vue.watch(menu, val => {
29140
29149
  if (val) return;
29141
29150
  isEditingInput.value = false;
@@ -29147,8 +29156,9 @@
29147
29156
  menu.value = true;
29148
29157
  return;
29149
29158
  }
29150
- const target = e.target;
29151
- model.value = adapter.isValid(target.value) ? target.value : null;
29159
+ if (props.updateOn.includes('enter')) {
29160
+ onUserInput(e.target);
29161
+ }
29152
29162
  }
29153
29163
  function onClick(e) {
29154
29164
  e.preventDefault();
@@ -29172,7 +29182,10 @@
29172
29182
  if (value != null) return;
29173
29183
  model.value = null;
29174
29184
  }
29175
- function onBlur() {
29185
+ function onBlur(e) {
29186
+ if (props.updateOn.includes('blur')) {
29187
+ onUserInput(e.target);
29188
+ }
29176
29189
  blur();
29177
29190
 
29178
29191
  // When in mobile mode and editing is done (due to keyboard dismissal), close the menu
@@ -29181,6 +29194,13 @@
29181
29194
  isEditingInput.value = false;
29182
29195
  }
29183
29196
  }
29197
+ function onUserInput(_ref2) {
29198
+ let {
29199
+ value
29200
+ } = _ref2;
29201
+ if (value && !adapter.isValid(value)) return;
29202
+ model.value = !value ? null : value;
29203
+ }
29184
29204
  useRender(() => {
29185
29205
  const confirmEditProps = VConfirmEdit.filterProps(props);
29186
29206
  const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']));
@@ -29219,14 +29239,14 @@
29219
29239
  "onSave": onSave,
29220
29240
  "onCancel": onCancel
29221
29241
  }), {
29222
- default: _ref2 => {
29242
+ default: _ref3 => {
29223
29243
  let {
29224
29244
  actions,
29225
29245
  model: proxyModel,
29226
29246
  save,
29227
29247
  cancel,
29228
29248
  isPristine
29229
- } = _ref2;
29249
+ } = _ref3;
29230
29250
  function onUpdateModel(value) {
29231
29251
  if (!props.hideActions) {
29232
29252
  proxyModel.value = value;
@@ -31641,7 +31661,7 @@
31641
31661
  };
31642
31662
  });
31643
31663
  }
31644
- const version$1 = "3.8.3-master.2025-04-30";
31664
+ const version$1 = "3.8.3-master.2025-05-01";
31645
31665
  createVuetify$1.version = version$1;
31646
31666
 
31647
31667
  // Vue's inject() can only be used in setup
@@ -31939,7 +31959,7 @@
31939
31959
 
31940
31960
  /* eslint-disable local-rules/sort-imports */
31941
31961
 
31942
- const version = "3.8.3-master.2025-04-30";
31962
+ const version = "3.8.3-master.2025-05-01";
31943
31963
 
31944
31964
  /* eslint-disable local-rules/sort-imports */
31945
31965