@vuetify/nightly 3.4.0-alpha.1-dev.2023-10-06 → 3.4.0-alpha.1-dev.2023-10-21

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.
Files changed (105) hide show
  1. package/CHANGELOG.md +7 -2
  2. package/dist/json/attributes.json +222 -6
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +4 -4
  5. package/dist/json/tags.json +60 -3
  6. package/dist/json/web-types.json +977 -80
  7. package/dist/vuetify-labs.css +5351 -5349
  8. package/dist/vuetify-labs.d.ts +273 -67
  9. package/dist/vuetify-labs.esm.js +101 -32
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +101 -32
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +5362 -5364
  14. package/dist/vuetify.d.ts +10 -8
  15. package/dist/vuetify.esm.js +35 -8
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +35 -8
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +797 -794
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/blueprints/index.d.mts +2 -0
  23. package/lib/blueprints/md1.d.mts +2 -0
  24. package/lib/blueprints/md2.d.mts +2 -0
  25. package/lib/blueprints/md3.d.mts +2 -0
  26. package/lib/components/VAutocomplete/VAutocomplete.css +8 -10
  27. package/lib/components/VAutocomplete/VAutocomplete.sass +12 -11
  28. package/lib/components/VAutocomplete/_variables.scss +4 -2
  29. package/lib/components/VCard/VCard.css +3 -1
  30. package/lib/components/VCard/VCard.sass +2 -1
  31. package/lib/components/VCard/_variables.scss +7 -5
  32. package/lib/components/VChip/VChip.css +67 -67
  33. package/lib/components/VChip/_variables.scss +1 -1
  34. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +1 -0
  35. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  36. package/lib/components/VCombobox/VCombobox.css +7 -9
  37. package/lib/components/VCombobox/VCombobox.mjs +3 -3
  38. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  39. package/lib/components/VCombobox/VCombobox.sass +10 -9
  40. package/lib/components/VCombobox/_variables.scss +1 -0
  41. package/lib/components/VField/VField.css +35 -16
  42. package/lib/components/VField/VField.sass +14 -2
  43. package/lib/components/VField/_variables.scss +6 -3
  44. package/lib/components/VFileInput/VFileInput.css +6 -4
  45. package/lib/components/VFileInput/VFileInput.mjs +2 -1
  46. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  47. package/lib/components/VFileInput/VFileInput.sass +10 -4
  48. package/lib/components/VInput/VInput.css +22 -16
  49. package/lib/components/VInput/VInput.sass +17 -6
  50. package/lib/components/VInput/_variables.scss +3 -3
  51. package/lib/components/VList/VListItem.css +0 -4
  52. package/lib/components/VList/VListItem.sass +0 -5
  53. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +5 -0
  54. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +4 -0
  55. package/lib/components/VSelect/VSelect.css +0 -4
  56. package/lib/components/VSelect/VSelect.sass +0 -3
  57. package/lib/components/VTable/VTable.css +3 -0
  58. package/lib/components/VTable/VTable.sass +3 -0
  59. package/lib/components/VTextField/VTextField.css +1 -28
  60. package/lib/components/VTextField/VTextField.mjs +1 -1
  61. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  62. package/lib/components/VTextField/VTextField.sass +0 -26
  63. package/lib/components/VTextarea/VTextarea.mjs +1 -1
  64. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  65. package/lib/components/VToolbar/_variables.scss +6 -3
  66. package/lib/entry-bundler.mjs +1 -1
  67. package/lib/framework.mjs +1 -1
  68. package/lib/index.d.mts +10 -8
  69. package/lib/labs/VDataTable/VDataTable.css +0 -6
  70. package/lib/labs/VDataTable/VDataTable.sass +0 -1
  71. package/lib/labs/VDataTable/VDataTableFooter.mjs +12 -4
  72. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  73. package/lib/labs/VDataTable/index.d.mts +48 -48
  74. package/lib/labs/VDatePicker/VDatePickerMonth.mjs +14 -2
  75. package/lib/labs/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  76. package/lib/labs/VDatePicker/index.d.mts +18 -0
  77. package/lib/labs/VDateRangePicker/index.d.mts +12 -0
  78. package/lib/labs/VOtpInput/VOtpInput.css +3 -2
  79. package/lib/labs/VOtpInput/VOtpInput.mjs +7 -4
  80. package/lib/labs/VOtpInput/VOtpInput.mjs.map +1 -1
  81. package/lib/labs/VOtpInput/VOtpInput.sass +9 -8
  82. package/lib/labs/VOtpInput/_variables.scss +9 -0
  83. package/lib/labs/VStepper/VStepper.css +9 -0
  84. package/lib/labs/VStepper/VStepper.mjs +1 -2
  85. package/lib/labs/VStepper/VStepper.mjs.map +1 -1
  86. package/lib/labs/VStepper/VStepper.sass +17 -8
  87. package/lib/labs/VStepper/VStepperActions.mjs +34 -13
  88. package/lib/labs/VStepper/VStepperActions.mjs.map +1 -1
  89. package/lib/labs/VStepper/VStepperItem.mjs.map +1 -1
  90. package/lib/labs/VStepper/VStepperItem.sass +15 -15
  91. package/lib/labs/VStepper/_variables.scss +24 -1
  92. package/lib/labs/VStepper/index.d.mts +205 -19
  93. package/lib/labs/components.d.mts +271 -67
  94. package/lib/labs/date/DateAdapter.mjs.map +1 -1
  95. package/lib/labs/date/adapters/vuetify.d.mts +4 -0
  96. package/lib/labs/date/adapters/vuetify.mjs +18 -1
  97. package/lib/labs/date/adapters/vuetify.mjs.map +1 -1
  98. package/lib/labs/date/index.d.mts +4 -0
  99. package/lib/locale/de.mjs +20 -20
  100. package/lib/locale/de.mjs.map +1 -1
  101. package/lib/locale/nl.mjs +22 -22
  102. package/lib/locale/nl.mjs.map +1 -1
  103. package/lib/util/helpers.mjs +4 -0
  104. package/lib/util/helpers.mjs.map +1 -1
  105. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.4.0-alpha.1-dev.2023-10-06
2
+ * Vuetify v3.4.0-alpha.1-dev.2023-10-21
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -246,6 +246,10 @@
246
246
  const onRE = /^on[^a-z]/;
247
247
  const isOn = key => onRE.test(key);
248
248
  const bubblingEvents = ['onAfterscriptexecute', 'onAnimationcancel', 'onAnimationend', 'onAnimationiteration', 'onAnimationstart', 'onAuxclick', 'onBeforeinput', 'onBeforescriptexecute', 'onChange', 'onClick', 'onCompositionend', 'onCompositionstart', 'onCompositionupdate', 'onContextmenu', 'onCopy', 'onCut', 'onDblclick', 'onFocusin', 'onFocusout', 'onFullscreenchange', 'onFullscreenerror', 'onGesturechange', 'onGestureend', 'onGesturestart', 'onGotpointercapture', 'onInput', 'onKeydown', 'onKeypress', 'onKeyup', 'onLostpointercapture', 'onMousedown', 'onMousemove', 'onMouseout', 'onMouseover', 'onMouseup', 'onMousewheel', 'onPaste', 'onPointercancel', 'onPointerdown', 'onPointerenter', 'onPointerleave', 'onPointermove', 'onPointerout', 'onPointerover', 'onPointerup', 'onReset', 'onSelect', 'onSubmit', 'onTouchcancel', 'onTouchend', 'onTouchmove', 'onTouchstart', 'onTransitioncancel', 'onTransitionend', 'onTransitionrun', 'onTransitionstart', 'onWheel'];
249
+ const compositionIgnoreKeys = ['ArrowUp', 'ArrowDown', 'ArrowRight', 'ArrowLeft', 'Enter', 'Escape', 'Tab', ' '];
250
+ function isComposingIgnoreKey(e) {
251
+ return e.isComposing && compositionIgnoreKeys.includes(e.key);
252
+ }
249
253
 
250
254
  /**
251
255
  * Filter attributes that should be applied to
@@ -276,6 +280,10 @@
276
280
  let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
277
281
  return str + char.repeat(Math.max(0, length - str.length));
278
282
  }
283
+ function padStart(str, length) {
284
+ let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
285
+ return char.repeat(Math.max(0, length - str.length)) + str;
286
+ }
279
287
  function chunk(str) {
280
288
  let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
281
289
  const chunked = [];
@@ -10571,7 +10579,7 @@
10571
10579
  "class": ['v-text-field', {
10572
10580
  'v-text-field--prefixed': props.prefix,
10573
10581
  'v-text-field--suffixed': props.suffix,
10574
- 'v-text-field--plain-underlined': ['plain', 'underlined'].includes(props.variant)
10582
+ 'v-input--plain-underlined': isPlainOrUnderlined.value
10575
10583
  }, props.class],
10576
10584
  "style": props.style
10577
10585
  }, rootAttrs, inputProps, {
@@ -13243,6 +13251,7 @@
13243
13251
  x,
13244
13252
  y
13245
13253
  } = val;
13254
+ _dotPosition.value = val;
13246
13255
  emit('update:color', {
13247
13256
  h: props.color?.h ?? 0,
13248
13257
  s: clamp(x, 0, canvasWidth.value) / canvasWidth.value,
@@ -15066,7 +15075,7 @@
15066
15075
  return _search.value;
15067
15076
  },
15068
15077
  set: val => {
15069
- _search.value = val;
15078
+ _search.value = val ?? '';
15070
15079
  if (!props.multiple) {
15071
15080
  model.value = [transformItem$3(props, val)];
15072
15081
  }
@@ -15139,7 +15148,7 @@
15139
15148
  menu.value = !menu.value;
15140
15149
  }
15141
15150
  function onKeydown(e) {
15142
- if (props.readonly || form?.isReadonly.value) return;
15151
+ if (isComposingIgnoreKey(e) || props.readonly || form?.isReadonly.value) return;
15143
15152
  const selectionStart = vTextFieldRef.value.selectionStart;
15144
15153
  const length = model.value.length;
15145
15154
  if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
@@ -15912,7 +15921,8 @@
15912
15921
  "modelValue": model.value,
15913
15922
  "onUpdate:modelValue": $event => model.value = $event,
15914
15923
  "class": ['v-file-input', {
15915
- 'v-text-field--plain-underlined': isPlainOrUnderlined.value
15924
+ 'v-file-input--chips': !!props.chips,
15925
+ 'v-input--plain-underlined': isPlainOrUnderlined.value
15916
15926
  }, props.class],
15917
15927
  "style": props.style,
15918
15928
  "onClick:prepend": onClickPrepend
@@ -19330,7 +19340,7 @@
19330
19340
  'v-text-field--suffixed': props.suffix,
19331
19341
  'v-textarea--auto-grow': props.autoGrow,
19332
19342
  'v-textarea--no-resize': props.noResize || props.autoGrow,
19333
- 'v-text-field--plain-underlined': isPlainOrUnderlined.value
19343
+ 'v-input--plain-underlined': isPlainOrUnderlined.value
19334
19344
  }, props.class],
19335
19345
  "style": props.style
19336
19346
  }, rootAttrs, inputProps, {
@@ -20743,10 +20753,18 @@
20743
20753
  itemsPerPage,
20744
20754
  setItemsPerPage
20745
20755
  } = usePagination();
20746
- const itemsPerPageOptions = vue.computed(() => props.itemsPerPageOptions.map(option => ({
20747
- ...option,
20748
- title: t(option.title)
20749
- })));
20756
+ const itemsPerPageOptions = vue.computed(() => props.itemsPerPageOptions.map(option => {
20757
+ if (typeof option === 'number') {
20758
+ return {
20759
+ value: option,
20760
+ title: option === -1 ? t('$vuetify.dataFooter.itemsPerPageAll') : String(option)
20761
+ };
20762
+ }
20763
+ return {
20764
+ ...option,
20765
+ title: t(option.title)
20766
+ };
20767
+ }));
20750
20768
  return () => vue.createVNode("div", {
20751
20769
  "class": "v-data-table-footer"
20752
20770
  }, [slots.prepend?.(), vue.createVNode("div", {
@@ -22377,6 +22395,17 @@
22377
22395
  }
22378
22396
  return new Intl.DateTimeFormat(locale, options).format(date);
22379
22397
  }
22398
+ function toISO(adapter, value) {
22399
+ const date = adapter.toJsDate(value);
22400
+ const year = date.getFullYear();
22401
+ const month = padStart(String(date.getMonth() + 1), 2, '0');
22402
+ const day = padStart(String(date.getDate()), 2, '0');
22403
+ return `${year}-${month}-${day}`;
22404
+ }
22405
+ function parseISO(value) {
22406
+ const [year, month, day] = value.split('-').map(Number);
22407
+ return new Date(year, month - 1, day);
22408
+ }
22380
22409
  function addDays(date, amount) {
22381
22410
  const d = new Date(date);
22382
22411
  d.setDate(d.getDate() + amount);
@@ -22451,6 +22480,12 @@
22451
22480
  toJsDate(date) {
22452
22481
  return date;
22453
22482
  }
22483
+ toISO(date) {
22484
+ return toISO(this, date);
22485
+ }
22486
+ parseISO(date) {
22487
+ return parseISO(date);
22488
+ }
22454
22489
  addDays(date, amount) {
22455
22490
  return addDays(date, amount);
22456
22491
  }
@@ -22731,6 +22766,7 @@
22731
22766
  }
22732
22767
 
22733
22768
  const makeVDatePickerMonthProps = propsFactory({
22769
+ allowedDates: [Array, Function],
22734
22770
  color: String,
22735
22771
  showAdjacentMonths: Boolean,
22736
22772
  hideWeekdays: Boolean,
@@ -22817,7 +22853,6 @@
22817
22853
  const startDate = validDates[0];
22818
22854
  const endDate = validDates[1];
22819
22855
  return days.map((date, index) => {
22820
- const isDisabled = !!(props.min && adapter.isAfter(props.min, date) || props.max && adapter.isAfter(date, props.max));
22821
22856
  const isStart = startDate && adapter.isSameDay(date, startDate);
22822
22857
  const isEnd = endDate && adapter.isSameDay(date, endDate);
22823
22858
  const isAdjacent = !adapter.isSameMonth(date, month.value);
@@ -22828,7 +22863,7 @@
22828
22863
  formatted: adapter.format(date, 'keyboardDate'),
22829
22864
  year: adapter.getYear(date),
22830
22865
  month: adapter.getMonth(date),
22831
- isDisabled,
22866
+ isDisabled: isDisabled(date),
22832
22867
  isWeekStart: index % 7 === 0,
22833
22868
  isWeekEnd: index % 7 === 6,
22834
22869
  isSelected: isStart || isEnd,
@@ -22855,6 +22890,18 @@
22855
22890
  backgroundColorClasses,
22856
22891
  backgroundColorStyles
22857
22892
  } = useBackgroundColor(props, 'color');
22893
+ function isDisabled(value) {
22894
+ const date = adapter.date(value);
22895
+ if (props.min && adapter.isAfter(props.min, date)) return true;
22896
+ if (props.max && adapter.isAfter(date, props.max)) return true;
22897
+ if (Array.isArray(props.allowedDates)) {
22898
+ return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date));
22899
+ }
22900
+ if (typeof props.allowedDates === 'function') {
22901
+ return !props.allowedDates(date);
22902
+ }
22903
+ return false;
22904
+ }
22858
22905
  function selectDate(date) {
22859
22906
  let newModel = props.modelValue.slice();
22860
22907
  if (props.multiple) {
@@ -23766,7 +23813,7 @@
23766
23813
  placeholder: String,
23767
23814
  type: {
23768
23815
  type: String,
23769
- default: 'text'
23816
+ default: 'number'
23770
23817
  },
23771
23818
  ...makeDimensionProps(),
23772
23819
  ...makeFocusProps(),
@@ -23812,7 +23859,7 @@
23812
23859
  model.value = array;
23813
23860
  let target = null;
23814
23861
  if (focusIndex.value > model.value.length) {
23815
- target = model.value.length + 1;
23862
+ target = model.value.length;
23816
23863
  } else if (focusIndex.value + 1 !== Number(props.length)) {
23817
23864
  target = 'next';
23818
23865
  } else {
@@ -23837,7 +23884,7 @@
23837
23884
  target = 'prev';
23838
23885
  } else {
23839
23886
  requestAnimationFrame(() => {
23840
- inputRef.value[index].select();
23887
+ inputRef.value[index]?.select();
23841
23888
  });
23842
23889
  }
23843
23890
  }
@@ -23866,6 +23913,9 @@
23866
23913
  }
23867
23914
  provideDefaults({
23868
23915
  VField: {
23916
+ color: vue.computed(() => props.color),
23917
+ bgColor: vue.computed(() => props.color),
23918
+ baseColor: vue.computed(() => props.baseColor),
23869
23919
  disabled: vue.computed(() => props.disabled),
23870
23920
  error: vue.computed(() => props.error),
23871
23921
  variant: vue.computed(() => props.variant)
@@ -23881,7 +23931,7 @@
23881
23931
  vue.watch(focusIndex, val => {
23882
23932
  if (val < 0) return;
23883
23933
  IN_BROWSER && window.requestAnimationFrame(() => {
23884
- inputRef.value[val].select();
23934
+ inputRef.value[val]?.select();
23885
23935
  });
23886
23936
  });
23887
23937
  useRender(() => {
@@ -24127,20 +24177,40 @@
24127
24177
  emit('click:next');
24128
24178
  }
24129
24179
  useRender(() => {
24180
+ const prevSlotProps = {
24181
+ onClick: onClickPrev
24182
+ };
24183
+ const nextSlotProps = {
24184
+ onClick: onClickNext
24185
+ };
24130
24186
  return vue.createVNode("div", {
24131
24187
  "class": "v-stepper-actions"
24132
- }, [vue.createVNode(VBtn, {
24133
- "disabled": ['prev', true].includes(props.disabled),
24134
- "text": t(props.prevText),
24135
- "variant": "text",
24136
- "onClick": onClickPrev
24137
- }, null), vue.createVNode(VBtn, {
24138
- "disabled": ['next', true].includes(props.disabled),
24139
- "color": props.color,
24140
- "text": t(props.nextText),
24141
- "variant": "tonal",
24142
- "onClick": onClickNext
24143
- }, null)]);
24188
+ }, [vue.createVNode(VDefaultsProvider, {
24189
+ "defaults": {
24190
+ VBtn: {
24191
+ disabled: ['prev', true].includes(props.disabled),
24192
+ text: t(props.prevText),
24193
+ variant: 'text'
24194
+ }
24195
+ }
24196
+ }, {
24197
+ default: () => [slots.prev?.({
24198
+ props: prevSlotProps
24199
+ }) ?? vue.createVNode(VBtn, prevSlotProps, null)]
24200
+ }), vue.createVNode(VDefaultsProvider, {
24201
+ "defaults": {
24202
+ VBtn: {
24203
+ color: props.color,
24204
+ disabled: ['next', true].includes(props.disabled),
24205
+ text: t(props.nextText),
24206
+ variant: 'tonal'
24207
+ }
24208
+ }
24209
+ }, {
24210
+ default: () => [slots.next?.({
24211
+ props: nextSlotProps
24212
+ }) ?? vue.createVNode(VBtn, nextSlotProps, null)]
24213
+ })]);
24144
24214
  });
24145
24215
  return {};
24146
24216
  }
@@ -24359,7 +24429,6 @@
24359
24429
  let {
24360
24430
  slots
24361
24431
  } = _ref;
24362
- // TODO: fix typing
24363
24432
  const {
24364
24433
  items: _items,
24365
24434
  next,
@@ -24445,7 +24514,7 @@
24445
24514
  "key": "stepper-actions",
24446
24515
  "onClick:prev": prev,
24447
24516
  "onClick:next": next
24448
- }, null))]
24517
+ }, slots))]
24449
24518
  });
24450
24519
  });
24451
24520
  return {
@@ -24833,7 +24902,7 @@
24833
24902
  date
24834
24903
  };
24835
24904
  }
24836
- const version$1 = "3.4.0-alpha.1-dev.2023-10-06";
24905
+ const version$1 = "3.4.0-alpha.1-dev.2023-10-21";
24837
24906
  createVuetify$1.version = version$1;
24838
24907
 
24839
24908
  // Vue's inject() can only be used in setup
@@ -24847,7 +24916,7 @@
24847
24916
 
24848
24917
  /* eslint-disable local-rules/sort-imports */
24849
24918
 
24850
- const version = "3.4.0-alpha.1-dev.2023-10-06";
24919
+ const version = "3.4.0-alpha.1-dev.2023-10-21";
24851
24920
 
24852
24921
  /* eslint-disable local-rules/sort-imports */
24853
24922