@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
  */
@@ -242,6 +242,10 @@ function only(obj, include) {
242
242
  const onRE = /^on[^a-z]/;
243
243
  const isOn = key => onRE.test(key);
244
244
  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'];
245
+ const compositionIgnoreKeys = ['ArrowUp', 'ArrowDown', 'ArrowRight', 'ArrowLeft', 'Enter', 'Escape', 'Tab', ' '];
246
+ function isComposingIgnoreKey(e) {
247
+ return e.isComposing && compositionIgnoreKeys.includes(e.key);
248
+ }
245
249
 
246
250
  /**
247
251
  * Filter attributes that should be applied to
@@ -272,6 +276,10 @@ function padEnd(str, length) {
272
276
  let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
273
277
  return str + char.repeat(Math.max(0, length - str.length));
274
278
  }
279
+ function padStart(str, length) {
280
+ let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
281
+ return char.repeat(Math.max(0, length - str.length)) + str;
282
+ }
275
283
  function chunk(str) {
276
284
  let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
277
285
  const chunked = [];
@@ -10567,7 +10575,7 @@ const VTextField = genericComponent()({
10567
10575
  "class": ['v-text-field', {
10568
10576
  'v-text-field--prefixed': props.prefix,
10569
10577
  'v-text-field--suffixed': props.suffix,
10570
- 'v-text-field--plain-underlined': ['plain', 'underlined'].includes(props.variant)
10578
+ 'v-input--plain-underlined': isPlainOrUnderlined.value
10571
10579
  }, props.class],
10572
10580
  "style": props.style
10573
10581
  }, rootAttrs, inputProps, {
@@ -13239,6 +13247,7 @@ const VColorPickerCanvas = defineComponent({
13239
13247
  x,
13240
13248
  y
13241
13249
  } = val;
13250
+ _dotPosition.value = val;
13242
13251
  emit('update:color', {
13243
13252
  h: props.color?.h ?? 0,
13244
13253
  s: clamp(x, 0, canvasWidth.value) / canvasWidth.value,
@@ -15062,7 +15071,7 @@ const VCombobox = genericComponent()({
15062
15071
  return _search.value;
15063
15072
  },
15064
15073
  set: val => {
15065
- _search.value = val;
15074
+ _search.value = val ?? '';
15066
15075
  if (!props.multiple) {
15067
15076
  model.value = [transformItem$3(props, val)];
15068
15077
  }
@@ -15135,7 +15144,7 @@ const VCombobox = genericComponent()({
15135
15144
  menu.value = !menu.value;
15136
15145
  }
15137
15146
  function onKeydown(e) {
15138
- if (props.readonly || form?.isReadonly.value) return;
15147
+ if (isComposingIgnoreKey(e) || props.readonly || form?.isReadonly.value) return;
15139
15148
  const selectionStart = vTextFieldRef.value.selectionStart;
15140
15149
  const length = model.value.length;
15141
15150
  if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
@@ -15908,7 +15917,8 @@ const VFileInput = genericComponent()({
15908
15917
  "modelValue": model.value,
15909
15918
  "onUpdate:modelValue": $event => model.value = $event,
15910
15919
  "class": ['v-file-input', {
15911
- 'v-text-field--plain-underlined': isPlainOrUnderlined.value
15920
+ 'v-file-input--chips': !!props.chips,
15921
+ 'v-input--plain-underlined': isPlainOrUnderlined.value
15912
15922
  }, props.class],
15913
15923
  "style": props.style,
15914
15924
  "onClick:prepend": onClickPrepend
@@ -19326,7 +19336,7 @@ const VTextarea = genericComponent()({
19326
19336
  'v-text-field--suffixed': props.suffix,
19327
19337
  'v-textarea--auto-grow': props.autoGrow,
19328
19338
  'v-textarea--no-resize': props.noResize || props.autoGrow,
19329
- 'v-text-field--plain-underlined': isPlainOrUnderlined.value
19339
+ 'v-input--plain-underlined': isPlainOrUnderlined.value
19330
19340
  }, props.class],
19331
19341
  "style": props.style
19332
19342
  }, rootAttrs, inputProps, {
@@ -20739,10 +20749,18 @@ const VDataTableFooter = genericComponent()({
20739
20749
  itemsPerPage,
20740
20750
  setItemsPerPage
20741
20751
  } = usePagination();
20742
- const itemsPerPageOptions = computed(() => props.itemsPerPageOptions.map(option => ({
20743
- ...option,
20744
- title: t(option.title)
20745
- })));
20752
+ const itemsPerPageOptions = computed(() => props.itemsPerPageOptions.map(option => {
20753
+ if (typeof option === 'number') {
20754
+ return {
20755
+ value: option,
20756
+ title: option === -1 ? t('$vuetify.dataFooter.itemsPerPageAll') : String(option)
20757
+ };
20758
+ }
20759
+ return {
20760
+ ...option,
20761
+ title: t(option.title)
20762
+ };
20763
+ }));
20746
20764
  return () => createVNode("div", {
20747
20765
  "class": "v-data-table-footer"
20748
20766
  }, [slots.prepend?.(), createVNode("div", {
@@ -22373,6 +22391,17 @@ function format(value, formatString, locale) {
22373
22391
  }
22374
22392
  return new Intl.DateTimeFormat(locale, options).format(date);
22375
22393
  }
22394
+ function toISO(adapter, value) {
22395
+ const date = adapter.toJsDate(value);
22396
+ const year = date.getFullYear();
22397
+ const month = padStart(String(date.getMonth() + 1), 2, '0');
22398
+ const day = padStart(String(date.getDate()), 2, '0');
22399
+ return `${year}-${month}-${day}`;
22400
+ }
22401
+ function parseISO(value) {
22402
+ const [year, month, day] = value.split('-').map(Number);
22403
+ return new Date(year, month - 1, day);
22404
+ }
22376
22405
  function addDays(date, amount) {
22377
22406
  const d = new Date(date);
22378
22407
  d.setDate(d.getDate() + amount);
@@ -22447,6 +22476,12 @@ class VuetifyDateAdapter {
22447
22476
  toJsDate(date) {
22448
22477
  return date;
22449
22478
  }
22479
+ toISO(date) {
22480
+ return toISO(this, date);
22481
+ }
22482
+ parseISO(date) {
22483
+ return parseISO(date);
22484
+ }
22450
22485
  addDays(date, amount) {
22451
22486
  return addDays(date, amount);
22452
22487
  }
@@ -22727,6 +22762,7 @@ function useDatePicker() {
22727
22762
  }
22728
22763
 
22729
22764
  const makeVDatePickerMonthProps = propsFactory({
22765
+ allowedDates: [Array, Function],
22730
22766
  color: String,
22731
22767
  showAdjacentMonths: Boolean,
22732
22768
  hideWeekdays: Boolean,
@@ -22813,7 +22849,6 @@ const VDatePickerMonth = genericComponent()({
22813
22849
  const startDate = validDates[0];
22814
22850
  const endDate = validDates[1];
22815
22851
  return days.map((date, index) => {
22816
- const isDisabled = !!(props.min && adapter.isAfter(props.min, date) || props.max && adapter.isAfter(date, props.max));
22817
22852
  const isStart = startDate && adapter.isSameDay(date, startDate);
22818
22853
  const isEnd = endDate && adapter.isSameDay(date, endDate);
22819
22854
  const isAdjacent = !adapter.isSameMonth(date, month.value);
@@ -22824,7 +22859,7 @@ const VDatePickerMonth = genericComponent()({
22824
22859
  formatted: adapter.format(date, 'keyboardDate'),
22825
22860
  year: adapter.getYear(date),
22826
22861
  month: adapter.getMonth(date),
22827
- isDisabled,
22862
+ isDisabled: isDisabled(date),
22828
22863
  isWeekStart: index % 7 === 0,
22829
22864
  isWeekEnd: index % 7 === 6,
22830
22865
  isSelected: isStart || isEnd,
@@ -22851,6 +22886,18 @@ const VDatePickerMonth = genericComponent()({
22851
22886
  backgroundColorClasses,
22852
22887
  backgroundColorStyles
22853
22888
  } = useBackgroundColor(props, 'color');
22889
+ function isDisabled(value) {
22890
+ const date = adapter.date(value);
22891
+ if (props.min && adapter.isAfter(props.min, date)) return true;
22892
+ if (props.max && adapter.isAfter(date, props.max)) return true;
22893
+ if (Array.isArray(props.allowedDates)) {
22894
+ return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date));
22895
+ }
22896
+ if (typeof props.allowedDates === 'function') {
22897
+ return !props.allowedDates(date);
22898
+ }
22899
+ return false;
22900
+ }
22854
22901
  function selectDate(date) {
22855
22902
  let newModel = props.modelValue.slice();
22856
22903
  if (props.multiple) {
@@ -23762,7 +23809,7 @@ const makeVOtpInputProps = propsFactory({
23762
23809
  placeholder: String,
23763
23810
  type: {
23764
23811
  type: String,
23765
- default: 'text'
23812
+ default: 'number'
23766
23813
  },
23767
23814
  ...makeDimensionProps(),
23768
23815
  ...makeFocusProps(),
@@ -23808,7 +23855,7 @@ const VOtpInput = genericComponent()({
23808
23855
  model.value = array;
23809
23856
  let target = null;
23810
23857
  if (focusIndex.value > model.value.length) {
23811
- target = model.value.length + 1;
23858
+ target = model.value.length;
23812
23859
  } else if (focusIndex.value + 1 !== Number(props.length)) {
23813
23860
  target = 'next';
23814
23861
  } else {
@@ -23833,7 +23880,7 @@ const VOtpInput = genericComponent()({
23833
23880
  target = 'prev';
23834
23881
  } else {
23835
23882
  requestAnimationFrame(() => {
23836
- inputRef.value[index].select();
23883
+ inputRef.value[index]?.select();
23837
23884
  });
23838
23885
  }
23839
23886
  }
@@ -23862,6 +23909,9 @@ const VOtpInput = genericComponent()({
23862
23909
  }
23863
23910
  provideDefaults({
23864
23911
  VField: {
23912
+ color: computed(() => props.color),
23913
+ bgColor: computed(() => props.color),
23914
+ baseColor: computed(() => props.baseColor),
23865
23915
  disabled: computed(() => props.disabled),
23866
23916
  error: computed(() => props.error),
23867
23917
  variant: computed(() => props.variant)
@@ -23877,7 +23927,7 @@ const VOtpInput = genericComponent()({
23877
23927
  watch(focusIndex, val => {
23878
23928
  if (val < 0) return;
23879
23929
  IN_BROWSER && window.requestAnimationFrame(() => {
23880
- inputRef.value[val].select();
23930
+ inputRef.value[val]?.select();
23881
23931
  });
23882
23932
  });
23883
23933
  useRender(() => {
@@ -24123,20 +24173,40 @@ const VStepperActions = genericComponent()({
24123
24173
  emit('click:next');
24124
24174
  }
24125
24175
  useRender(() => {
24176
+ const prevSlotProps = {
24177
+ onClick: onClickPrev
24178
+ };
24179
+ const nextSlotProps = {
24180
+ onClick: onClickNext
24181
+ };
24126
24182
  return createVNode("div", {
24127
24183
  "class": "v-stepper-actions"
24128
- }, [createVNode(VBtn, {
24129
- "disabled": ['prev', true].includes(props.disabled),
24130
- "text": t(props.prevText),
24131
- "variant": "text",
24132
- "onClick": onClickPrev
24133
- }, null), createVNode(VBtn, {
24134
- "disabled": ['next', true].includes(props.disabled),
24135
- "color": props.color,
24136
- "text": t(props.nextText),
24137
- "variant": "tonal",
24138
- "onClick": onClickNext
24139
- }, null)]);
24184
+ }, [createVNode(VDefaultsProvider, {
24185
+ "defaults": {
24186
+ VBtn: {
24187
+ disabled: ['prev', true].includes(props.disabled),
24188
+ text: t(props.prevText),
24189
+ variant: 'text'
24190
+ }
24191
+ }
24192
+ }, {
24193
+ default: () => [slots.prev?.({
24194
+ props: prevSlotProps
24195
+ }) ?? createVNode(VBtn, prevSlotProps, null)]
24196
+ }), createVNode(VDefaultsProvider, {
24197
+ "defaults": {
24198
+ VBtn: {
24199
+ color: props.color,
24200
+ disabled: ['next', true].includes(props.disabled),
24201
+ text: t(props.nextText),
24202
+ variant: 'tonal'
24203
+ }
24204
+ }
24205
+ }, {
24206
+ default: () => [slots.next?.({
24207
+ props: nextSlotProps
24208
+ }) ?? createVNode(VBtn, nextSlotProps, null)]
24209
+ })]);
24140
24210
  });
24141
24211
  return {};
24142
24212
  }
@@ -24355,7 +24425,6 @@ const VStepper = genericComponent()({
24355
24425
  let {
24356
24426
  slots
24357
24427
  } = _ref;
24358
- // TODO: fix typing
24359
24428
  const {
24360
24429
  items: _items,
24361
24430
  next,
@@ -24441,7 +24510,7 @@ const VStepper = genericComponent()({
24441
24510
  "key": "stepper-actions",
24442
24511
  "onClick:prev": prev,
24443
24512
  "onClick:next": next
24444
- }, null))]
24513
+ }, slots))]
24445
24514
  });
24446
24515
  });
24447
24516
  return {
@@ -24829,7 +24898,7 @@ function createVuetify$1() {
24829
24898
  date
24830
24899
  };
24831
24900
  }
24832
- const version$1 = "3.4.0-alpha.1-dev.2023-10-06";
24901
+ const version$1 = "3.4.0-alpha.1-dev.2023-10-21";
24833
24902
  createVuetify$1.version = version$1;
24834
24903
 
24835
24904
  // Vue's inject() can only be used in setup
@@ -24843,7 +24912,7 @@ function inject(key) {
24843
24912
 
24844
24913
  /* eslint-disable local-rules/sort-imports */
24845
24914
 
24846
- const version = "3.4.0-alpha.1-dev.2023-10-06";
24915
+ const version = "3.4.0-alpha.1-dev.2023-10-21";
24847
24916
 
24848
24917
  /* eslint-disable local-rules/sort-imports */
24849
24918