@vuetify/nightly 3.5.9-dev.2024-03-29 → 3.5.9-dev.2024-03-30

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.5.9-dev.2024-03-29
2
+ * Vuetify v3.5.9-dev.2024-03-30
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -18719,7 +18719,7 @@
18719
18719
  }
18720
18720
  return {
18721
18721
  ...option,
18722
- title: t(option.title)
18722
+ title: !isNaN(Number(option.title)) ? option.title : t(option.title)
18723
18723
  };
18724
18724
  }));
18725
18725
  useRender(() => {
@@ -20769,6 +20769,14 @@
20769
20769
  hideWeekdays: Boolean,
20770
20770
  multiple: [Boolean, Number, String],
20771
20771
  showWeek: Boolean,
20772
+ transition: {
20773
+ type: String,
20774
+ default: 'picker-transition'
20775
+ },
20776
+ reverseTransition: {
20777
+ type: String,
20778
+ default: 'picker-reverse-transition'
20779
+ },
20772
20780
  ...makeCalendarProps()
20773
20781
  }, 'VDatePickerMonth');
20774
20782
  const VDatePickerMonth = genericComponent()({
@@ -20793,6 +20801,10 @@
20793
20801
  const adapter = useDate();
20794
20802
  const rangeStart = vue.shallowRef();
20795
20803
  const rangeStop = vue.shallowRef();
20804
+ const isReverse = vue.shallowRef(false);
20805
+ const transition = vue.computed(() => {
20806
+ return !isReverse.value ? props.transition : props.reverseTransition;
20807
+ });
20796
20808
  if (props.multiple === 'range' && model.value.length > 0) {
20797
20809
  rangeStart.value = model.value[0];
20798
20810
  if (model.value.length > 1) {
@@ -20803,6 +20815,10 @@
20803
20815
  const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity;
20804
20816
  return model.value.length >= max;
20805
20817
  });
20818
+ vue.watch(daysInMonth, (val, oldVal) => {
20819
+ if (!oldVal) return;
20820
+ isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date);
20821
+ });
20806
20822
  function onRangeClick(value) {
20807
20823
  const _value = adapter.startOfDay(value);
20808
20824
  if (!rangeStart.value) {
@@ -20862,48 +20878,53 @@
20862
20878
  "class": "v-date-picker-month__day"
20863
20879
  }, [vue.createTextVNode("\xA0")]), weekNumbers.value.map(week => vue.createVNode("div", {
20864
20880
  "class": ['v-date-picker-month__day', 'v-date-picker-month__day--adjacent']
20865
- }, [week]))]), vue.createVNode("div", {
20866
- "ref": daysRef,
20867
- "class": "v-date-picker-month__days"
20868
- }, [!props.hideWeekdays && adapter.getWeekdays().map(weekDay => vue.createVNode("div", {
20869
- "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
20870
- }, [weekDay])), daysInMonth.value.map((item, i) => {
20871
- const slotProps = {
20872
- props: {
20873
- onClick: () => onClick(item.date)
20874
- },
20875
- item,
20876
- i
20877
- };
20878
- if (atMax.value && !item.isSelected) {
20879
- item.isDisabled = true;
20880
- }
20881
- return vue.createVNode("div", {
20882
- "class": ['v-date-picker-month__day', {
20883
- 'v-date-picker-month__day--adjacent': item.isAdjacent,
20884
- 'v-date-picker-month__day--hide-adjacent': item.isHidden,
20885
- 'v-date-picker-month__day--selected': item.isSelected,
20886
- 'v-date-picker-month__day--week-end': item.isWeekEnd,
20887
- 'v-date-picker-month__day--week-start': item.isWeekStart
20888
- }],
20889
- "data-v-date": !item.isDisabled ? item.isoDate : undefined
20890
- }, [(props.showAdjacentMonths || !item.isAdjacent) && vue.createVNode(VDefaultsProvider, {
20891
- "defaults": {
20892
- VBtn: {
20893
- class: 'v-date-picker-month__day-btn',
20894
- color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
20895
- disabled: item.isDisabled,
20896
- icon: true,
20897
- ripple: false,
20898
- text: item.localized,
20899
- variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
20881
+ }, [week]))]), vue.createVNode(MaybeTransition, {
20882
+ "name": transition.value
20883
+ }, {
20884
+ default: () => [vue.createVNode("div", {
20885
+ "ref": daysRef,
20886
+ "key": daysInMonth.value[0].date.toString(),
20887
+ "class": "v-date-picker-month__days"
20888
+ }, [!props.hideWeekdays && adapter.getWeekdays().map(weekDay => vue.createVNode("div", {
20889
+ "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
20890
+ }, [weekDay])), daysInMonth.value.map((item, i) => {
20891
+ const slotProps = {
20892
+ props: {
20900
20893
  onClick: () => onClick(item.date)
20901
- }
20894
+ },
20895
+ item,
20896
+ i
20897
+ };
20898
+ if (atMax.value && !item.isSelected) {
20899
+ item.isDisabled = true;
20902
20900
  }
20903
- }, {
20904
- default: () => [slots.day?.(slotProps) ?? vue.createVNode(VBtn, slotProps.props, null)]
20905
- })]);
20906
- })])]);
20901
+ return vue.createVNode("div", {
20902
+ "class": ['v-date-picker-month__day', {
20903
+ 'v-date-picker-month__day--adjacent': item.isAdjacent,
20904
+ 'v-date-picker-month__day--hide-adjacent': item.isHidden,
20905
+ 'v-date-picker-month__day--selected': item.isSelected,
20906
+ 'v-date-picker-month__day--week-end': item.isWeekEnd,
20907
+ 'v-date-picker-month__day--week-start': item.isWeekStart
20908
+ }],
20909
+ "data-v-date": !item.isDisabled ? item.isoDate : undefined
20910
+ }, [(props.showAdjacentMonths || !item.isAdjacent) && vue.createVNode(VDefaultsProvider, {
20911
+ "defaults": {
20912
+ VBtn: {
20913
+ class: 'v-date-picker-month__day-btn',
20914
+ color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
20915
+ disabled: item.isDisabled,
20916
+ icon: true,
20917
+ ripple: false,
20918
+ text: item.localized,
20919
+ variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
20920
+ onClick: () => onClick(item.date)
20921
+ }
20922
+ }
20923
+ }, {
20924
+ default: () => [slots.day?.(slotProps) ?? vue.createVNode(VBtn, slotProps.props, null)]
20925
+ })]);
20926
+ })])]
20927
+ })]);
20907
20928
  }
20908
20929
  });
20909
20930
 
@@ -27675,7 +27696,7 @@
27675
27696
  goTo
27676
27697
  };
27677
27698
  }
27678
- const version$1 = "3.5.9-dev.2024-03-29";
27699
+ const version$1 = "3.5.9-dev.2024-03-30";
27679
27700
  createVuetify$1.version = version$1;
27680
27701
 
27681
27702
  // Vue's inject() can only be used in setup
@@ -27928,7 +27949,7 @@
27928
27949
 
27929
27950
  /* eslint-disable local-rules/sort-imports */
27930
27951
 
27931
- const version = "3.5.9-dev.2024-03-29";
27952
+ const version = "3.5.9-dev.2024-03-30";
27932
27953
 
27933
27954
  /* eslint-disable local-rules/sort-imports */
27934
27955