@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.
@@ -99,7 +99,7 @@ export const VDataTableFooter = genericComponent()({
99
99
  }
100
100
  return {
101
101
  ...option,
102
- title: t(option.title)
102
+ title: !isNaN(Number(option.title)) ? option.title : t(option.title)
103
103
  };
104
104
  }));
105
105
  useRender(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableFooter.mjs","names":["VPagination","VSelect","usePagination","useLocale","computed","genericComponent","propsFactory","useRender","makeVDataTableFooterProps","prevIcon","type","String","default","nextIcon","firstIcon","lastIcon","itemsPerPageText","pageText","firstPageLabel","prevPageLabel","nextPageLabel","lastPageLabel","itemsPerPageOptions","Array","value","title","showCurrentPage","Boolean","VDataTableFooter","name","props","setup","_ref","slots","t","page","pageCount","startIndex","stopIndex","itemsLength","itemsPerPage","setItemsPerPage","map","option","paginationProps","filterProps","_createVNode","prepend","v","Number","_mergeProps","$event"],"sources":["../../../src/components/VDataTable/VDataTableFooter.tsx"],"sourcesContent":["// Styles\nimport './VDataTableFooter.sass'\n\n// Components\nimport { VPagination } from '@/components/VPagination'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { usePagination } from './composables/paginate'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDataTableFooterProps = propsFactory({\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n firstIcon: {\n type: String,\n default: '$first',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n firstPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.firstPage',\n },\n prevPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.prevPage',\n },\n nextPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.nextPage',\n },\n lastPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.lastPage',\n },\n itemsPerPageOptions: {\n type: Array as PropType<readonly (number | { title: string, value: number })[]>,\n default: () => ([\n { value: 10, title: '10' },\n { value: 25, title: '25' },\n { value: 50, title: '50' },\n { value: 100, title: '100' },\n { value: -1, title: '$vuetify.dataFooter.itemsPerPageAll' },\n ]),\n },\n showCurrentPage: Boolean,\n}, 'VDataTableFooter')\n\nexport const VDataTableFooter = genericComponent<{ prepend: never }>()({\n name: 'VDataTableFooter',\n\n props: makeVDataTableFooterProps(),\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { page, pageCount, startIndex, stopIndex, itemsLength, itemsPerPage, setItemsPerPage } = usePagination()\n\n const itemsPerPageOptions = computed(() => (\n props.itemsPerPageOptions.map(option => {\n if (typeof option === 'number') {\n return {\n value: option,\n title: option === -1\n ? t('$vuetify.dataFooter.itemsPerPageAll')\n : String(option),\n }\n }\n\n return {\n ...option,\n title: t(option.title),\n }\n })\n ))\n\n useRender(() => {\n const paginationProps = VPagination.filterProps(props)\n\n return (\n <div class=\"v-data-table-footer\">\n { slots.prepend?.() }\n\n <div class=\"v-data-table-footer__items-per-page\">\n <span>{ t(props.itemsPerPageText) }</span>\n\n <VSelect\n items={ itemsPerPageOptions.value }\n modelValue={ itemsPerPage.value }\n onUpdate:modelValue={ v => setItemsPerPage(Number(v)) }\n density=\"compact\"\n variant=\"outlined\"\n hide-details\n />\n </div>\n\n <div class=\"v-data-table-footer__info\">\n <div>\n { t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value) }\n </div>\n </div>\n\n <div class=\"v-data-table-footer__pagination\">\n <VPagination\n v-model={ page.value }\n density=\"comfortable\"\n first-aria-label={ props.firstPageLabel }\n last-aria-label={ props.lastPageLabel }\n length={ pageCount.value }\n next-aria-label={ props.nextPageLabel }\n previous-aria-label={ props.prevPageLabel }\n rounded\n show-first-last-page\n total-visible={ props.showCurrentPage ? 1 : 0 }\n variant=\"plain\"\n { ...paginationProps }\n ></VPagination>\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"VDataTableFooter.mjs","names":["VPagination","VSelect","usePagination","useLocale","computed","genericComponent","propsFactory","useRender","makeVDataTableFooterProps","prevIcon","type","String","default","nextIcon","firstIcon","lastIcon","itemsPerPageText","pageText","firstPageLabel","prevPageLabel","nextPageLabel","lastPageLabel","itemsPerPageOptions","Array","value","title","showCurrentPage","Boolean","VDataTableFooter","name","props","setup","_ref","slots","t","page","pageCount","startIndex","stopIndex","itemsLength","itemsPerPage","setItemsPerPage","map","option","isNaN","Number","paginationProps","filterProps","_createVNode","prepend","v","_mergeProps","$event"],"sources":["../../../src/components/VDataTable/VDataTableFooter.tsx"],"sourcesContent":["// Styles\nimport './VDataTableFooter.sass'\n\n// Components\nimport { VPagination } from '@/components/VPagination'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { usePagination } from './composables/paginate'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDataTableFooterProps = propsFactory({\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n firstIcon: {\n type: String,\n default: '$first',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n firstPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.firstPage',\n },\n prevPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.prevPage',\n },\n nextPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.nextPage',\n },\n lastPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.lastPage',\n },\n itemsPerPageOptions: {\n type: Array as PropType<readonly (number | { title: string, value: number })[]>,\n default: () => ([\n { value: 10, title: '10' },\n { value: 25, title: '25' },\n { value: 50, title: '50' },\n { value: 100, title: '100' },\n { value: -1, title: '$vuetify.dataFooter.itemsPerPageAll' },\n ]),\n },\n showCurrentPage: Boolean,\n}, 'VDataTableFooter')\n\nexport const VDataTableFooter = genericComponent<{ prepend: never }>()({\n name: 'VDataTableFooter',\n\n props: makeVDataTableFooterProps(),\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { page, pageCount, startIndex, stopIndex, itemsLength, itemsPerPage, setItemsPerPage } = usePagination()\n\n const itemsPerPageOptions = computed(() => (\n props.itemsPerPageOptions.map(option => {\n if (typeof option === 'number') {\n return {\n value: option,\n title: option === -1\n ? t('$vuetify.dataFooter.itemsPerPageAll')\n : String(option),\n }\n }\n\n return {\n ...option,\n title: !isNaN(Number(option.title)) ? option.title : t(option.title),\n }\n })\n ))\n\n useRender(() => {\n const paginationProps = VPagination.filterProps(props)\n\n return (\n <div class=\"v-data-table-footer\">\n { slots.prepend?.() }\n\n <div class=\"v-data-table-footer__items-per-page\">\n <span>{ t(props.itemsPerPageText) }</span>\n\n <VSelect\n items={ itemsPerPageOptions.value }\n modelValue={ itemsPerPage.value }\n onUpdate:modelValue={ v => setItemsPerPage(Number(v)) }\n density=\"compact\"\n variant=\"outlined\"\n hide-details\n />\n </div>\n\n <div class=\"v-data-table-footer__info\">\n <div>\n { t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value) }\n </div>\n </div>\n\n <div class=\"v-data-table-footer__pagination\">\n <VPagination\n v-model={ page.value }\n density=\"comfortable\"\n first-aria-label={ props.firstPageLabel }\n last-aria-label={ props.lastPageLabel }\n length={ pageCount.value }\n next-aria-label={ props.nextPageLabel }\n previous-aria-label={ props.prevPageLabel }\n rounded\n show-first-last-page\n total-visible={ props.showCurrentPage ? 1 : 0 }\n variant=\"plain\"\n { ...paginationProps }\n ></VPagination>\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n"],"mappings":"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"}
@@ -6,14 +6,23 @@ import "./VDatePickerMonth.css";
6
6
  import { VBtn } from "../VBtn/index.mjs";
7
7
  import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs"; // Composables
8
8
  import { makeCalendarProps, useCalendar } from "../../composables/calendar.mjs";
9
- import { useDate } from "../../composables/date/date.mjs"; // Utilities
10
- import { computed, ref, shallowRef } from 'vue';
9
+ import { useDate } from "../../composables/date/date.mjs";
10
+ import { MaybeTransition } from "../../composables/transition.mjs"; // Utilities
11
+ import { computed, ref, shallowRef, watch } from 'vue';
11
12
  import { genericComponent, propsFactory } from "../../util/index.mjs"; // Types
12
13
  export const makeVDatePickerMonthProps = propsFactory({
13
14
  color: String,
14
15
  hideWeekdays: Boolean,
15
16
  multiple: [Boolean, Number, String],
16
17
  showWeek: Boolean,
18
+ transition: {
19
+ type: String,
20
+ default: 'picker-transition'
21
+ },
22
+ reverseTransition: {
23
+ type: String,
24
+ default: 'picker-reverse-transition'
25
+ },
17
26
  ...makeCalendarProps()
18
27
  }, 'VDatePickerMonth');
19
28
  export const VDatePickerMonth = genericComponent()({
@@ -38,6 +47,10 @@ export const VDatePickerMonth = genericComponent()({
38
47
  const adapter = useDate();
39
48
  const rangeStart = shallowRef();
40
49
  const rangeStop = shallowRef();
50
+ const isReverse = shallowRef(false);
51
+ const transition = computed(() => {
52
+ return !isReverse.value ? props.transition : props.reverseTransition;
53
+ });
41
54
  if (props.multiple === 'range' && model.value.length > 0) {
42
55
  rangeStart.value = model.value[0];
43
56
  if (model.value.length > 1) {
@@ -48,6 +61,10 @@ export const VDatePickerMonth = genericComponent()({
48
61
  const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity;
49
62
  return model.value.length >= max;
50
63
  });
64
+ watch(daysInMonth, (val, oldVal) => {
65
+ if (!oldVal) return;
66
+ isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date);
67
+ });
51
68
  function onRangeClick(value) {
52
69
  const _value = adapter.startOfDay(value);
53
70
  if (!rangeStart.value) {
@@ -107,48 +124,53 @@ export const VDatePickerMonth = genericComponent()({
107
124
  "class": "v-date-picker-month__day"
108
125
  }, [_createTextVNode("\xA0")]), weekNumbers.value.map(week => _createVNode("div", {
109
126
  "class": ['v-date-picker-month__day', 'v-date-picker-month__day--adjacent']
110
- }, [week]))]), _createVNode("div", {
111
- "ref": daysRef,
112
- "class": "v-date-picker-month__days"
113
- }, [!props.hideWeekdays && adapter.getWeekdays().map(weekDay => _createVNode("div", {
114
- "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
115
- }, [weekDay])), daysInMonth.value.map((item, i) => {
116
- const slotProps = {
117
- props: {
118
- onClick: () => onClick(item.date)
119
- },
120
- item,
121
- i
122
- };
123
- if (atMax.value && !item.isSelected) {
124
- item.isDisabled = true;
125
- }
126
- return _createVNode("div", {
127
- "class": ['v-date-picker-month__day', {
128
- 'v-date-picker-month__day--adjacent': item.isAdjacent,
129
- 'v-date-picker-month__day--hide-adjacent': item.isHidden,
130
- 'v-date-picker-month__day--selected': item.isSelected,
131
- 'v-date-picker-month__day--week-end': item.isWeekEnd,
132
- 'v-date-picker-month__day--week-start': item.isWeekStart
133
- }],
134
- "data-v-date": !item.isDisabled ? item.isoDate : undefined
135
- }, [(props.showAdjacentMonths || !item.isAdjacent) && _createVNode(VDefaultsProvider, {
136
- "defaults": {
137
- VBtn: {
138
- class: 'v-date-picker-month__day-btn',
139
- color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
140
- disabled: item.isDisabled,
141
- icon: true,
142
- ripple: false,
143
- text: item.localized,
144
- variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
127
+ }, [week]))]), _createVNode(MaybeTransition, {
128
+ "name": transition.value
129
+ }, {
130
+ default: () => [_createVNode("div", {
131
+ "ref": daysRef,
132
+ "key": daysInMonth.value[0].date.toString(),
133
+ "class": "v-date-picker-month__days"
134
+ }, [!props.hideWeekdays && adapter.getWeekdays().map(weekDay => _createVNode("div", {
135
+ "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
136
+ }, [weekDay])), daysInMonth.value.map((item, i) => {
137
+ const slotProps = {
138
+ props: {
145
139
  onClick: () => onClick(item.date)
146
- }
140
+ },
141
+ item,
142
+ i
143
+ };
144
+ if (atMax.value && !item.isSelected) {
145
+ item.isDisabled = true;
147
146
  }
148
- }, {
149
- default: () => [slots.day?.(slotProps) ?? _createVNode(VBtn, slotProps.props, null)]
150
- })]);
151
- })])]);
147
+ return _createVNode("div", {
148
+ "class": ['v-date-picker-month__day', {
149
+ 'v-date-picker-month__day--adjacent': item.isAdjacent,
150
+ 'v-date-picker-month__day--hide-adjacent': item.isHidden,
151
+ 'v-date-picker-month__day--selected': item.isSelected,
152
+ 'v-date-picker-month__day--week-end': item.isWeekEnd,
153
+ 'v-date-picker-month__day--week-start': item.isWeekStart
154
+ }],
155
+ "data-v-date": !item.isDisabled ? item.isoDate : undefined
156
+ }, [(props.showAdjacentMonths || !item.isAdjacent) && _createVNode(VDefaultsProvider, {
157
+ "defaults": {
158
+ VBtn: {
159
+ class: 'v-date-picker-month__day-btn',
160
+ color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
161
+ disabled: item.isDisabled,
162
+ icon: true,
163
+ ripple: false,
164
+ text: item.localized,
165
+ variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
166
+ onClick: () => onClick(item.date)
167
+ }
168
+ }
169
+ }, {
170
+ default: () => [slots.day?.(slotProps) ?? _createVNode(VBtn, slotProps.props, null)]
171
+ })]);
172
+ })])]
173
+ })]);
152
174
  }
153
175
  });
154
176
  //# sourceMappingURL=VDatePickerMonth.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VDatePickerMonth.mjs","names":["VBtn","VDefaultsProvider","makeCalendarProps","useCalendar","useDate","computed","ref","shallowRef","genericComponent","propsFactory","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","value","length","atMax","max","includes","Infinity","onRangeClick","_value","startOfDay","isSameDay","undefined","isBefore","endOfDay","diff","getDiff","datesInRange","i","nextDate","addDays","push","onMultipleClick","index","findIndex","selection","splice","onClick","_createVNode","_createTextVNode","map","week","getWeekdays","weekDay","item","slotProps","isSelected","isDisabled","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","class","isToday","disabled","icon","ripple","text","localized","variant","default","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\n\n// Utilities\nimport { computed, ref, shallowRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n\n ...makeCalendarProps(),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days')\n const datesInRange = [rangeStart.value]\n\n for (let i = 1; i < diff; i++) {\n const nextDate = adapter.addDays(rangeStart.value, i)\n datesInRange.push(nextDate)\n }\n\n datesInRange.push(rangeStop.value)\n\n model.value = datesInRange\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n return () => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\">&nbsp;</div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <div\n ref={ daysRef }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays().map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n class: 'v-date-picker-month__day-btn',\n color: (item.isSelected || item.isToday) && !item.isDisabled\n ? props.color\n : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isDisabled\n ? item.isToday ? 'outlined' : 'text'\n : item.isToday && !item.isSelected ? 'outlined' : 'flat',\n onClick: () => onClick(item.date),\n },\n }}\n >\n { slots.day?.(slotProps) ?? (\n <VBtn { ...slotProps.props } />\n )}\n </VDefaultsProvider>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VDatePickerMonth.mjs","names":["VBtn","VDefaultsProvider","makeCalendarProps","useCalendar","useDate","MaybeTransition","computed","ref","shallowRef","watch","genericComponent","propsFactory","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","isSameDay","undefined","endOfDay","diff","getDiff","datesInRange","i","nextDate","addDays","push","onMultipleClick","index","findIndex","selection","splice","onClick","_createVNode","_createTextVNode","map","week","toString","getWeekdays","weekDay","item","slotProps","isSelected","isDisabled","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","class","isToday","disabled","icon","ripple","text","localized","variant","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...makeCalendarProps(),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = computed(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days')\n const datesInRange = [rangeStart.value]\n\n for (let i = 1; i < diff; i++) {\n const nextDate = adapter.addDays(rangeStart.value, i)\n datesInRange.push(nextDate)\n }\n\n datesInRange.push(rangeStop.value)\n\n model.value = datesInRange\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n return () => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\">&nbsp;</div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays().map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n class: 'v-date-picker-month__day-btn',\n color: (item.isSelected || item.isToday) && !item.isDisabled\n ? props.color\n : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isDisabled\n ? item.isToday ? 'outlined' : 'text'\n : item.isToday && !item.isSelected ? 'outlined' : 'flat',\n onClick: () => onClick(item.date),\n },\n }}\n >\n { slots.day?.(slotProps) ?? (\n <VBtn { ...slotProps.props } />\n )}\n </VDefaultsProvider>\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n )\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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"}
@@ -51,6 +51,7 @@ type VDatePickerSlots = Omit<VPickerSlots, 'header'> & {
51
51
  };
52
52
  declare const VDatePicker: {
53
53
  new (...args: any[]): vue.CreateComponentPublicInstance<{
54
+ transition: string;
54
55
  header: string;
55
56
  style: vue.StyleValue;
56
57
  title: string;
@@ -60,6 +61,7 @@ declare const VDatePicker: {
60
61
  tile: boolean;
61
62
  nextIcon: string;
62
63
  prevIcon: string;
64
+ reverseTransition: string;
63
65
  modeIcon: string;
64
66
  viewMode: "month" | "year" | "months";
65
67
  showAdjacentMonths: boolean;
@@ -101,6 +103,7 @@ declare const VDatePicker: {
101
103
  'update:year': (date: any) => true;
102
104
  'update:viewMode': (date: any) => true;
103
105
  }, "multiple" | "$children" | "v-slot:default" | "v-slots" | "modelValue" | "v-slot:title" | "update:modelValue" | "v-slot:header" | "v-slot:actions">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
106
+ transition: string;
104
107
  header: string;
105
108
  style: vue.StyleValue;
106
109
  title: string;
@@ -110,6 +113,7 @@ declare const VDatePicker: {
110
113
  tile: boolean;
111
114
  nextIcon: string;
112
115
  prevIcon: string;
116
+ reverseTransition: string;
113
117
  modeIcon: string;
114
118
  viewMode: "month" | "year" | "months";
115
119
  showAdjacentMonths: boolean;
@@ -147,6 +151,7 @@ declare const VDatePicker: {
147
151
  "onUpdate:viewMode"?: ((date: any) => any) | undefined;
148
152
  }, {
149
153
  active: string | string[];
154
+ transition: string;
150
155
  header: string;
151
156
  style: vue.StyleValue;
152
157
  title: string;
@@ -157,6 +162,7 @@ declare const VDatePicker: {
157
162
  tile: boolean;
158
163
  nextIcon: string;
159
164
  prevIcon: string;
165
+ reverseTransition: string;
160
166
  modeIcon: string;
161
167
  viewMode: "month" | "year" | "months";
162
168
  showAdjacentMonths: boolean;
@@ -188,6 +194,7 @@ declare const VDatePicker: {
188
194
  M: {};
189
195
  Defaults: {};
190
196
  }, {
197
+ transition: string;
191
198
  header: string;
192
199
  style: vue.StyleValue;
193
200
  title: string;
@@ -197,6 +204,7 @@ declare const VDatePicker: {
197
204
  tile: boolean;
198
205
  nextIcon: string;
199
206
  prevIcon: string;
207
+ reverseTransition: string;
200
208
  modeIcon: string;
201
209
  viewMode: "month" | "year" | "months";
202
210
  showAdjacentMonths: boolean;
@@ -234,6 +242,7 @@ declare const VDatePicker: {
234
242
  "onUpdate:viewMode"?: ((date: any) => any) | undefined;
235
243
  }, {}, {}, {}, {}, {
236
244
  active: string | string[];
245
+ transition: string;
237
246
  header: string;
238
247
  style: vue.StyleValue;
239
248
  title: string;
@@ -244,6 +253,7 @@ declare const VDatePicker: {
244
253
  tile: boolean;
245
254
  nextIcon: string;
246
255
  prevIcon: string;
256
+ reverseTransition: string;
247
257
  modeIcon: string;
248
258
  viewMode: "month" | "year" | "months";
249
259
  showAdjacentMonths: boolean;
@@ -256,6 +266,7 @@ declare const VDatePicker: {
256
266
  __isTeleport?: undefined;
257
267
  __isSuspense?: undefined;
258
268
  } & vue.ComponentOptionsBase<{
269
+ transition: string;
259
270
  header: string;
260
271
  style: vue.StyleValue;
261
272
  title: string;
@@ -265,6 +276,7 @@ declare const VDatePicker: {
265
276
  tile: boolean;
266
277
  nextIcon: string;
267
278
  prevIcon: string;
279
+ reverseTransition: string;
268
280
  modeIcon: string;
269
281
  viewMode: "month" | "year" | "months";
270
282
  showAdjacentMonths: boolean;
@@ -307,6 +319,7 @@ declare const VDatePicker: {
307
319
  'update:viewMode': (date: any) => true;
308
320
  }, "multiple" | "$children" | "v-slot:default" | "v-slots" | "modelValue" | "v-slot:title" | "update:modelValue" | "v-slot:header" | "v-slot:actions">, string, {
309
321
  active: string | string[];
322
+ transition: string;
310
323
  header: string;
311
324
  style: vue.StyleValue;
312
325
  title: string;
@@ -317,6 +330,7 @@ declare const VDatePicker: {
317
330
  tile: boolean;
318
331
  nextIcon: string;
319
332
  prevIcon: string;
333
+ reverseTransition: string;
320
334
  modeIcon: string;
321
335
  viewMode: "month" | "year" | "months";
322
336
  showAdjacentMonths: boolean;
@@ -417,6 +431,14 @@ declare const VDatePicker: {
417
431
  hideWeekdays: BooleanConstructor;
418
432
  multiple: vue.PropType<number | boolean | "range" | (string & {})>;
419
433
  showWeek: BooleanConstructor;
434
+ transition: {
435
+ type: StringConstructor;
436
+ default: string;
437
+ };
438
+ reverseTransition: {
439
+ type: StringConstructor;
440
+ default: string;
441
+ };
420
442
  active: {
421
443
  type: vue.PropType<string | string[]>;
422
444
  default: undefined;
@@ -511,6 +533,14 @@ declare const VDatePicker: {
511
533
  hideWeekdays: BooleanConstructor;
512
534
  multiple: vue.PropType<number | boolean | "range" | (string & {})>;
513
535
  showWeek: BooleanConstructor;
536
+ transition: {
537
+ type: StringConstructor;
538
+ default: string;
539
+ };
540
+ reverseTransition: {
541
+ type: StringConstructor;
542
+ default: string;
543
+ };
514
544
  active: {
515
545
  type: vue.PropType<string | string[]>;
516
546
  default: undefined;
@@ -894,7 +924,9 @@ type VDatePickerHeader = InstanceType<typeof VDatePickerHeader>;
894
924
 
895
925
  declare const VDatePickerMonth: {
896
926
  new (...args: any[]): vue.CreateComponentPublicInstance<{
927
+ transition: string;
897
928
  disabled: boolean;
929
+ reverseTransition: string;
898
930
  showAdjacentMonths: boolean;
899
931
  weekdays: number[];
900
932
  hideWeekdays: boolean;
@@ -945,7 +977,9 @@ declare const VDatePickerMonth: {
945
977
  'update:month': (date: number) => true;
946
978
  'update:year': (date: number) => true;
947
979
  }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
980
+ transition: string;
948
981
  disabled: boolean;
982
+ reverseTransition: string;
949
983
  showAdjacentMonths: boolean;
950
984
  weekdays: number[];
951
985
  hideWeekdays: boolean;
@@ -992,7 +1026,9 @@ declare const VDatePickerMonth: {
992
1026
  "onUpdate:month"?: ((date: number) => any) | undefined;
993
1027
  "onUpdate:year"?: ((date: number) => any) | undefined;
994
1028
  }, {
1029
+ transition: string;
995
1030
  disabled: boolean;
1031
+ reverseTransition: string;
996
1032
  showAdjacentMonths: boolean;
997
1033
  weekdays: number[];
998
1034
  hideWeekdays: boolean;
@@ -1015,7 +1051,9 @@ declare const VDatePickerMonth: {
1015
1051
  M: {};
1016
1052
  Defaults: {};
1017
1053
  }, {
1054
+ transition: string;
1018
1055
  disabled: boolean;
1056
+ reverseTransition: string;
1019
1057
  showAdjacentMonths: boolean;
1020
1058
  weekdays: number[];
1021
1059
  hideWeekdays: boolean;
@@ -1062,7 +1100,9 @@ declare const VDatePickerMonth: {
1062
1100
  "onUpdate:month"?: ((date: number) => any) | undefined;
1063
1101
  "onUpdate:year"?: ((date: number) => any) | undefined;
1064
1102
  }, () => JSX.Element, {}, {}, {}, {
1103
+ transition: string;
1065
1104
  disabled: boolean;
1105
+ reverseTransition: string;
1066
1106
  showAdjacentMonths: boolean;
1067
1107
  weekdays: number[];
1068
1108
  hideWeekdays: boolean;
@@ -1072,7 +1112,9 @@ declare const VDatePickerMonth: {
1072
1112
  __isTeleport?: undefined;
1073
1113
  __isSuspense?: undefined;
1074
1114
  } & vue.ComponentOptionsBase<{
1115
+ transition: string;
1075
1116
  disabled: boolean;
1117
+ reverseTransition: string;
1076
1118
  showAdjacentMonths: boolean;
1077
1119
  weekdays: number[];
1078
1120
  hideWeekdays: boolean;
@@ -1123,7 +1165,9 @@ declare const VDatePickerMonth: {
1123
1165
  'update:month': (date: number) => true;
1124
1166
  'update:year': (date: number) => true;
1125
1167
  }, string, {
1168
+ transition: string;
1126
1169
  disabled: boolean;
1170
+ reverseTransition: string;
1127
1171
  showAdjacentMonths: boolean;
1128
1172
  weekdays: number[];
1129
1173
  hideWeekdays: boolean;
@@ -1169,6 +1213,14 @@ declare const VDatePickerMonth: {
1169
1213
  hideWeekdays: BooleanConstructor;
1170
1214
  multiple: PropType<number | boolean | "range" | (string & {})>;
1171
1215
  showWeek: BooleanConstructor;
1216
+ transition: {
1217
+ type: StringConstructor;
1218
+ default: string;
1219
+ };
1220
+ reverseTransition: {
1221
+ type: StringConstructor;
1222
+ default: string;
1223
+ };
1172
1224
  }, vue.ExtractPropTypes<{
1173
1225
  allowedDates: PropType<unknown[] | ((date: unknown) => boolean)>;
1174
1226
  disabled: BooleanConstructor;
@@ -1200,6 +1252,14 @@ declare const VDatePickerMonth: {
1200
1252
  hideWeekdays: BooleanConstructor;
1201
1253
  multiple: PropType<number | boolean | "range" | (string & {})>;
1202
1254
  showWeek: BooleanConstructor;
1255
+ transition: {
1256
+ type: StringConstructor;
1257
+ default: string;
1258
+ };
1259
+ reverseTransition: {
1260
+ type: StringConstructor;
1261
+ default: string;
1262
+ };
1203
1263
  }>>;
1204
1264
  type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>;
1205
1265