@vuetify/nightly 3.7.12-master.2025-02-14 → 3.7.12-master.2025-02-17
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.
- package/CHANGELOG.md +12 -3
- package/dist/json/attributes.json +2936 -2924
- package/dist/json/importMap-labs.json +16 -16
- package/dist/json/importMap.json +174 -174
- package/dist/json/tags.json +3 -0
- package/dist/json/web-types.json +5456 -5428
- package/dist/vuetify-labs.css +3803 -3795
- package/dist/vuetify-labs.d.ts +80 -29
- package/dist/vuetify-labs.esm.js +109 -46
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +109 -46
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +3706 -3706
- package/dist/vuetify.d.ts +86 -74
- package/dist/vuetify.esm.js +20 -13
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +20 -13
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +6 -6
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/composables/sort.mjs +12 -8
- package/lib/components/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerControls.mjs +1 -1
- package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
- package/lib/components/VDatePicker/index.d.mts +27 -15
- package/lib/components/index.d.mts +27 -15
- package/lib/composables/calendar.mjs +4 -1
- package/lib/composables/calendar.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +59 -59
- package/lib/labs/VCalendar/index.d.mts +8 -2
- package/lib/labs/VDateInput/index.d.mts +8 -2
- package/lib/labs/VNumberInput/VNumberInput.css +10 -2
- package/lib/labs/VNumberInput/VNumberInput.mjs +93 -35
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/VNumberInput.sass +12 -2
- package/lib/labs/VNumberInput/index.d.mts +37 -10
- package/lib/labs/components.d.mts +53 -14
- package/package.json +1 -1
@@ -37,15 +37,19 @@ export function provideSort(options) {
|
|
37
37
|
})) ?? [];
|
38
38
|
const item = newSortBy.find(x => x.key === column.key);
|
39
39
|
if (!item) {
|
40
|
-
if (multiSort.value)
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
40
|
+
if (multiSort.value) {
|
41
|
+
newSortBy.push({
|
42
|
+
key: column.key,
|
43
|
+
order: 'asc'
|
44
|
+
});
|
45
|
+
} else {
|
46
|
+
newSortBy = [{
|
47
|
+
key: column.key,
|
48
|
+
order: 'asc'
|
49
|
+
}];
|
50
|
+
}
|
47
51
|
} else if (item.order === 'desc') {
|
48
|
-
if (mustSort.value) {
|
52
|
+
if (mustSort.value && newSortBy.length === 1) {
|
49
53
|
item.order = 'asc';
|
50
54
|
} else {
|
51
55
|
newSortBy = newSortBy.filter(x => x.key !== column.key);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sort.mjs","names":["useLocale","useProxiedModel","computed","inject","provide","toRef","getObjectValueByPath","isEmpty","propsFactory","makeDataTableSortProps","sortBy","type","Array","default","customKeySort","Object","multiSort","Boolean","mustSort","VDataTableSortSymbol","Symbol","for","createSort","props","provideSort","options","page","toggleSort","column","key","newSortBy","value","map","x","item","find","order","filter","isSorted","data","useSort","Error","useSortedItems","items","locale","sortedItems","length","sortItems","current","transform","sortFunctions","sortRawFunctions","sortByItems","stringCollator","Intl","Collator","sensitivity","usage","transformedItems","sort","a","b","i","hasCustomResult","sortKey","sortOrder","sortA","sortB","sortARaw","raw","sortBRaw","customResult","Date","getTime","s","toString","toLocaleLowerCase","isNaN","Number","compare","_ref"],"sources":["../../../../src/components/VDataTable/composables/sort.ts"],"sourcesContent":["// Composables\nimport { useLocale } from '@/composables'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, toRef } from 'vue'\nimport { getObjectValueByPath, isEmpty, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { DataTableCompareFunction, InternalDataTableHeader } from '../types'\nimport type { InternalItem } from '@/composables/filter'\n\nexport const makeDataTableSortProps = propsFactory({\n sortBy: {\n type: Array as PropType<readonly SortItem[]>,\n default: () => ([]),\n },\n customKeySort: Object as PropType<Record<string, DataTableCompareFunction>>,\n multiSort: Boolean,\n mustSort: Boolean,\n}, 'DataTable-sort')\n\nconst VDataTableSortSymbol: InjectionKey<{\n sortBy: Ref<readonly SortItem[]>\n toggleSort: (column: InternalDataTableHeader) => void\n isSorted: (column: InternalDataTableHeader) => boolean\n}> = Symbol.for('vuetify:data-table-sort')\n\nexport type SortItem = { key: string, order?: boolean | 'asc' | 'desc' }\n\ntype SortProps = {\n sortBy: readonly SortItem[]\n 'onUpdate:sortBy': ((value: any) => void) | undefined\n mustSort: boolean\n multiSort: boolean\n}\n\nexport function createSort (props: SortProps) {\n const sortBy = useProxiedModel(props, 'sortBy')\n const mustSort = toRef(props, 'mustSort')\n const multiSort = toRef(props, 'multiSort')\n\n return { sortBy, mustSort, multiSort }\n}\n\nexport function provideSort (options: {\n sortBy: Ref<readonly SortItem[]>\n mustSort: Ref<boolean>\n multiSort: Ref<boolean>\n page?: Ref<number>\n}) {\n const { sortBy, mustSort, multiSort, page } = options\n\n const toggleSort = (column: InternalDataTableHeader) => {\n if (column.key == null) return\n\n let newSortBy = sortBy.value.map(x => ({ ...x })) ?? []\n const item = newSortBy.find(x => x.key === column.key)\n\n if (!item) {\n if (multiSort.value) newSortBy = [...newSortBy, { key: column.key, order: 'asc' }]\n else newSortBy = [{ key: column.key, order: 'asc' }]\n } else if (item.order === 'desc') {\n if (mustSort.value) {\n item.order = 'asc'\n } else {\n newSortBy = newSortBy.filter(x => x.key !== column.key)\n }\n } else {\n item.order = 'desc'\n }\n\n sortBy.value = newSortBy\n if (page) page.value = 1\n }\n\n function isSorted (column: InternalDataTableHeader) {\n return !!sortBy.value.find(item => item.key === column.key)\n }\n\n const data = { sortBy, toggleSort, isSorted }\n\n provide(VDataTableSortSymbol, data)\n\n return data\n}\n\nexport function useSort () {\n const data = inject(VDataTableSortSymbol)\n\n if (!data) throw new Error('Missing sort!')\n\n return data\n}\n\n// TODO: abstract into project composable\nexport function useSortedItems<T extends InternalItem> (\n props: {\n customKeySort: Record<string, DataTableCompareFunction> | undefined\n },\n items: Ref<T[]>,\n sortBy: Ref<readonly SortItem[]>,\n options?: {\n transform?: (item: T) => {}\n sortFunctions?: Ref<Record<string, DataTableCompareFunction> | undefined>\n sortRawFunctions?: Ref<Record<string, DataTableCompareFunction> | undefined>\n },\n) {\n const locale = useLocale()\n const sortedItems = computed(() => {\n if (!sortBy.value.length) return items.value\n\n return sortItems(items.value, sortBy.value, locale.current.value, {\n transform: options?.transform,\n sortFunctions: {\n ...props.customKeySort,\n ...options?.sortFunctions?.value,\n },\n sortRawFunctions: options?.sortRawFunctions?.value,\n })\n })\n\n return { sortedItems }\n}\n\nexport function sortItems<T extends InternalItem> (\n items: T[],\n sortByItems: readonly SortItem[],\n locale: string,\n options?: {\n transform?: (item: T) => Record<string, any>\n sortFunctions?: Record<string, DataTableCompareFunction>\n sortRawFunctions?: Record<string, DataTableCompareFunction>\n },\n): T[] {\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n const transformedItems = items.map(item => (\n [item, options?.transform ? options.transform(item) : item as never] as const)\n )\n\n return transformedItems.sort((a, b) => {\n for (let i = 0; i < sortByItems.length; i++) {\n let hasCustomResult = false\n const sortKey = sortByItems[i].key\n const sortOrder = sortByItems[i].order ?? 'asc'\n\n if (sortOrder === false) continue\n\n let sortA = getObjectValueByPath(a[1], sortKey)\n let sortB = getObjectValueByPath(b[1], sortKey)\n let sortARaw = a[0].raw\n let sortBRaw = b[0].raw\n\n if (sortOrder === 'desc') {\n [sortA, sortB] = [sortB, sortA]\n ;[sortARaw, sortBRaw] = [sortBRaw, sortARaw]\n }\n\n if (options?.sortRawFunctions?.[sortKey]) {\n const customResult = options.sortRawFunctions[sortKey](sortARaw, sortBRaw)\n\n if (customResult == null) continue\n hasCustomResult = true\n if (customResult) return customResult\n }\n\n if (options?.sortFunctions?.[sortKey]) {\n const customResult = options.sortFunctions[sortKey](sortA, sortB)\n\n if (customResult == null) continue\n hasCustomResult = true\n if (customResult) return customResult\n }\n\n if (hasCustomResult) continue\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s)\n\n if (sortA !== sortB) {\n if (isEmpty(sortA) && isEmpty(sortB)) return 0\n if (isEmpty(sortA)) return -1\n if (isEmpty(sortB)) return 1\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n }).map(([item]) => item)\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"sort.mjs","names":["useLocale","useProxiedModel","computed","inject","provide","toRef","getObjectValueByPath","isEmpty","propsFactory","makeDataTableSortProps","sortBy","type","Array","default","customKeySort","Object","multiSort","Boolean","mustSort","VDataTableSortSymbol","Symbol","for","createSort","props","provideSort","options","page","toggleSort","column","key","newSortBy","value","map","x","item","find","push","order","length","filter","isSorted","data","useSort","Error","useSortedItems","items","locale","sortedItems","sortItems","current","transform","sortFunctions","sortRawFunctions","sortByItems","stringCollator","Intl","Collator","sensitivity","usage","transformedItems","sort","a","b","i","hasCustomResult","sortKey","sortOrder","sortA","sortB","sortARaw","raw","sortBRaw","customResult","Date","getTime","s","toString","toLocaleLowerCase","isNaN","Number","compare","_ref"],"sources":["../../../../src/components/VDataTable/composables/sort.ts"],"sourcesContent":["// Composables\nimport { useLocale } from '@/composables'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, toRef } from 'vue'\nimport { getObjectValueByPath, isEmpty, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { DataTableCompareFunction, InternalDataTableHeader } from '../types'\nimport type { InternalItem } from '@/composables/filter'\n\nexport const makeDataTableSortProps = propsFactory({\n sortBy: {\n type: Array as PropType<readonly SortItem[]>,\n default: () => ([]),\n },\n customKeySort: Object as PropType<Record<string, DataTableCompareFunction>>,\n multiSort: Boolean,\n mustSort: Boolean,\n}, 'DataTable-sort')\n\nconst VDataTableSortSymbol: InjectionKey<{\n sortBy: Ref<readonly SortItem[]>\n toggleSort: (column: InternalDataTableHeader) => void\n isSorted: (column: InternalDataTableHeader) => boolean\n}> = Symbol.for('vuetify:data-table-sort')\n\nexport type SortItem = { key: string, order?: boolean | 'asc' | 'desc' }\n\ntype SortProps = {\n sortBy: readonly SortItem[]\n 'onUpdate:sortBy': ((value: any) => void) | undefined\n mustSort: boolean\n multiSort: boolean\n}\n\nexport function createSort (props: SortProps) {\n const sortBy = useProxiedModel(props, 'sortBy')\n const mustSort = toRef(props, 'mustSort')\n const multiSort = toRef(props, 'multiSort')\n\n return { sortBy, mustSort, multiSort }\n}\n\nexport function provideSort (options: {\n sortBy: Ref<readonly SortItem[]>\n mustSort: Ref<boolean>\n multiSort: Ref<boolean>\n page?: Ref<number>\n}) {\n const { sortBy, mustSort, multiSort, page } = options\n\n const toggleSort = (column: InternalDataTableHeader) => {\n if (column.key == null) return\n\n let newSortBy = sortBy.value.map(x => ({ ...x })) ?? []\n const item = newSortBy.find(x => x.key === column.key)\n\n if (!item) {\n if (multiSort.value) {\n newSortBy.push({ key: column.key, order: 'asc' })\n } else {\n newSortBy = [{ key: column.key, order: 'asc' }]\n }\n } else if (item.order === 'desc') {\n if (mustSort.value && newSortBy.length === 1) {\n item.order = 'asc'\n } else {\n newSortBy = newSortBy.filter(x => x.key !== column.key)\n }\n } else {\n item.order = 'desc'\n }\n\n sortBy.value = newSortBy\n if (page) page.value = 1\n }\n\n function isSorted (column: InternalDataTableHeader) {\n return !!sortBy.value.find(item => item.key === column.key)\n }\n\n const data = { sortBy, toggleSort, isSorted }\n\n provide(VDataTableSortSymbol, data)\n\n return data\n}\n\nexport function useSort () {\n const data = inject(VDataTableSortSymbol)\n\n if (!data) throw new Error('Missing sort!')\n\n return data\n}\n\n// TODO: abstract into project composable\nexport function useSortedItems<T extends InternalItem> (\n props: {\n customKeySort: Record<string, DataTableCompareFunction> | undefined\n },\n items: Ref<T[]>,\n sortBy: Ref<readonly SortItem[]>,\n options?: {\n transform?: (item: T) => {}\n sortFunctions?: Ref<Record<string, DataTableCompareFunction> | undefined>\n sortRawFunctions?: Ref<Record<string, DataTableCompareFunction> | undefined>\n },\n) {\n const locale = useLocale()\n const sortedItems = computed(() => {\n if (!sortBy.value.length) return items.value\n\n return sortItems(items.value, sortBy.value, locale.current.value, {\n transform: options?.transform,\n sortFunctions: {\n ...props.customKeySort,\n ...options?.sortFunctions?.value,\n },\n sortRawFunctions: options?.sortRawFunctions?.value,\n })\n })\n\n return { sortedItems }\n}\n\nexport function sortItems<T extends InternalItem> (\n items: T[],\n sortByItems: readonly SortItem[],\n locale: string,\n options?: {\n transform?: (item: T) => Record<string, any>\n sortFunctions?: Record<string, DataTableCompareFunction>\n sortRawFunctions?: Record<string, DataTableCompareFunction>\n },\n): T[] {\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n const transformedItems = items.map(item => (\n [item, options?.transform ? options.transform(item) : item as never] as const)\n )\n\n return transformedItems.sort((a, b) => {\n for (let i = 0; i < sortByItems.length; i++) {\n let hasCustomResult = false\n const sortKey = sortByItems[i].key\n const sortOrder = sortByItems[i].order ?? 'asc'\n\n if (sortOrder === false) continue\n\n let sortA = getObjectValueByPath(a[1], sortKey)\n let sortB = getObjectValueByPath(b[1], sortKey)\n let sortARaw = a[0].raw\n let sortBRaw = b[0].raw\n\n if (sortOrder === 'desc') {\n [sortA, sortB] = [sortB, sortA]\n ;[sortARaw, sortBRaw] = [sortBRaw, sortARaw]\n }\n\n if (options?.sortRawFunctions?.[sortKey]) {\n const customResult = options.sortRawFunctions[sortKey](sortARaw, sortBRaw)\n\n if (customResult == null) continue\n hasCustomResult = true\n if (customResult) return customResult\n }\n\n if (options?.sortFunctions?.[sortKey]) {\n const customResult = options.sortFunctions[sortKey](sortA, sortB)\n\n if (customResult == null) continue\n hasCustomResult = true\n if (customResult) return customResult\n }\n\n if (hasCustomResult) continue\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s)\n\n if (sortA !== sortB) {\n if (isEmpty(sortA) && isEmpty(sortB)) return 0\n if (isEmpty(sortA)) return -1\n if (isEmpty(sortB)) return 1\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n }).map(([item]) => item)\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDatePickerControls.mjs","names":["VBtn","VSpacer","IconValue","computed","genericComponent","propsFactory","useRender","makeVDatePickerControlsProps","active","type","String","Array","default","undefined","disabled","Boolean","nextIcon","prevIcon","modeIcon","text","viewMode","VDatePickerControls","name","props","emits","click:year","click:month","click:prev","click:next","click:text","setup","_ref","emit","disableMonth","isArray","includes","disableYear","disablePrev","disableNext","onClickPrev","onClickNext","onClickYear","onClickMonth","_createVNode","value"],"sources":["../../../src/components/VDatePicker/VDatePickerControls.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerControls.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VSpacer } from '@/components/VGrid'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDatePickerControlsProps = propsFactory({\n active: {\n type: [String, Array] as PropType<string | string[]>,\n default: undefined,\n },\n disabled: {\n type: [Boolean, String, Array] as PropType<boolean | string | string[]>,\n default:
|
1
|
+
{"version":3,"file":"VDatePickerControls.mjs","names":["VBtn","VSpacer","IconValue","computed","genericComponent","propsFactory","useRender","makeVDatePickerControlsProps","active","type","String","Array","default","undefined","disabled","Boolean","nextIcon","prevIcon","modeIcon","text","viewMode","VDatePickerControls","name","props","emits","click:year","click:month","click:prev","click:next","click:text","setup","_ref","emit","disableMonth","isArray","includes","disableYear","disablePrev","disableNext","onClickPrev","onClickNext","onClickYear","onClickMonth","_createVNode","value"],"sources":["../../../src/components/VDatePicker/VDatePickerControls.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerControls.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VSpacer } from '@/components/VGrid'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDatePickerControlsProps = propsFactory({\n active: {\n type: [String, Array] as PropType<string | string[]>,\n default: undefined,\n },\n disabled: {\n type: [Boolean, String, Array] as PropType<boolean | string | string[] | null>,\n default: null,\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n modeIcon: {\n type: IconValue,\n default: '$subgroup',\n },\n text: String,\n viewMode: {\n type: String as PropType<'month' | 'months' | 'year'>,\n default: 'month',\n },\n}, 'VDatePickerControls')\n\nexport const VDatePickerControls = genericComponent()({\n name: 'VDatePickerControls',\n\n props: makeVDatePickerControlsProps(),\n\n emits: {\n 'click:year': () => true,\n 'click:month': () => true,\n 'click:prev': () => true,\n 'click:next': () => true,\n 'click:text': () => true,\n },\n\n setup (props, { emit }) {\n const disableMonth = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('text')\n : !!props.disabled\n })\n const disableYear = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('mode')\n : !!props.disabled\n })\n const disablePrev = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('prev')\n : !!props.disabled\n })\n const disableNext = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('next')\n : !!props.disabled\n })\n\n function onClickPrev () {\n emit('click:prev')\n }\n\n function onClickNext () {\n emit('click:next')\n }\n\n function onClickYear () {\n emit('click:year')\n }\n\n function onClickMonth () {\n emit('click:month')\n }\n\n useRender(() => {\n // TODO: add slot support and scope defaults\n return (\n <div\n class={[\n 'v-date-picker-controls',\n ]}\n >\n <VBtn\n class=\"v-date-picker-controls__month-btn\"\n disabled={ disableMonth.value }\n text={ props.text }\n variant=\"text\"\n rounded\n onClick={ onClickMonth }\n ></VBtn>\n\n <VBtn\n key=\"mode-btn\"\n class=\"v-date-picker-controls__mode-btn\"\n disabled={ disableYear.value }\n density=\"comfortable\"\n icon={ props.modeIcon }\n variant=\"text\"\n onClick={ onClickYear }\n />\n\n <VSpacer key=\"mode-spacer\" />\n\n <div\n key=\"month-buttons\"\n class=\"v-date-picker-controls__month\"\n >\n <VBtn\n disabled={ disablePrev.value }\n icon={ props.prevIcon }\n variant=\"text\"\n onClick={ onClickPrev }\n />\n\n <VBtn\n disabled={ disableNext.value }\n icon={ props.nextIcon }\n variant=\"text\"\n onClick={ onClickNext }\n />\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePickerControls = InstanceType<typeof VDatePickerControls>\n"],"mappings":"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","ignoreList":[]}
|
@@ -401,7 +401,10 @@ declare const VDatePicker: {
|
|
401
401
|
max: vue.PropType<unknown>;
|
402
402
|
min: vue.PropType<unknown>;
|
403
403
|
year: NumberConstructor;
|
404
|
-
disabled:
|
404
|
+
disabled: {
|
405
|
+
type: BooleanConstructor;
|
406
|
+
default: null;
|
407
|
+
};
|
405
408
|
month: (StringConstructor | NumberConstructor)[];
|
406
409
|
showAdjacentMonths: BooleanConstructor;
|
407
410
|
weekdays: {
|
@@ -512,7 +515,10 @@ declare const VDatePicker: {
|
|
512
515
|
max: vue.PropType<unknown>;
|
513
516
|
min: vue.PropType<unknown>;
|
514
517
|
year: NumberConstructor;
|
515
|
-
disabled:
|
518
|
+
disabled: {
|
519
|
+
type: BooleanConstructor;
|
520
|
+
default: null;
|
521
|
+
};
|
516
522
|
month: (StringConstructor | NumberConstructor)[];
|
517
523
|
showAdjacentMonths: BooleanConstructor;
|
518
524
|
weekdays: {
|
@@ -584,7 +590,7 @@ type VDatePicker = InstanceType<typeof VDatePicker>;
|
|
584
590
|
|
585
591
|
declare const VDatePickerControls: {
|
586
592
|
new (...args: any[]): vue.CreateComponentPublicInstance<{
|
587
|
-
disabled: string | boolean | string[];
|
593
|
+
disabled: string | boolean | string[] | null;
|
588
594
|
nextIcon: IconValue;
|
589
595
|
prevIcon: IconValue;
|
590
596
|
modeIcon: IconValue;
|
@@ -614,7 +620,7 @@ declare const VDatePickerControls: {
|
|
614
620
|
'click:next': () => true;
|
615
621
|
'click:text': () => true;
|
616
622
|
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
617
|
-
disabled: string | boolean | string[];
|
623
|
+
disabled: string | boolean | string[] | null;
|
618
624
|
nextIcon: IconValue;
|
619
625
|
prevIcon: IconValue;
|
620
626
|
modeIcon: IconValue;
|
@@ -639,7 +645,7 @@ declare const VDatePickerControls: {
|
|
639
645
|
"onClick:text"?: (() => any) | undefined;
|
640
646
|
}, {
|
641
647
|
active: string | string[];
|
642
|
-
disabled: string | boolean | string[];
|
648
|
+
disabled: string | boolean | string[] | null;
|
643
649
|
nextIcon: IconValue;
|
644
650
|
prevIcon: IconValue;
|
645
651
|
modeIcon: IconValue;
|
@@ -654,7 +660,7 @@ declare const VDatePickerControls: {
|
|
654
660
|
M: {};
|
655
661
|
Defaults: {};
|
656
662
|
}, {
|
657
|
-
disabled: string | boolean | string[];
|
663
|
+
disabled: string | boolean | string[] | null;
|
658
664
|
nextIcon: IconValue;
|
659
665
|
prevIcon: IconValue;
|
660
666
|
modeIcon: IconValue;
|
@@ -679,7 +685,7 @@ declare const VDatePickerControls: {
|
|
679
685
|
"onClick:text"?: (() => any) | undefined;
|
680
686
|
}, {}, {}, {}, {}, {
|
681
687
|
active: string | string[];
|
682
|
-
disabled: string | boolean | string[];
|
688
|
+
disabled: string | boolean | string[] | null;
|
683
689
|
nextIcon: IconValue;
|
684
690
|
prevIcon: IconValue;
|
685
691
|
modeIcon: IconValue;
|
@@ -689,7 +695,7 @@ declare const VDatePickerControls: {
|
|
689
695
|
__isTeleport?: never;
|
690
696
|
__isSuspense?: never;
|
691
697
|
} & vue.ComponentOptionsBase<{
|
692
|
-
disabled: string | boolean | string[];
|
698
|
+
disabled: string | boolean | string[] | null;
|
693
699
|
nextIcon: IconValue;
|
694
700
|
prevIcon: IconValue;
|
695
701
|
modeIcon: IconValue;
|
@@ -720,7 +726,7 @@ declare const VDatePickerControls: {
|
|
720
726
|
'click:text': () => true;
|
721
727
|
}, string, {
|
722
728
|
active: string | string[];
|
723
|
-
disabled: string | boolean | string[];
|
729
|
+
disabled: string | boolean | string[] | null;
|
724
730
|
nextIcon: IconValue;
|
725
731
|
prevIcon: IconValue;
|
726
732
|
modeIcon: IconValue;
|
@@ -733,8 +739,8 @@ declare const VDatePickerControls: {
|
|
733
739
|
default: undefined;
|
734
740
|
};
|
735
741
|
disabled: {
|
736
|
-
type: PropType<boolean | string | string[]>;
|
737
|
-
default:
|
742
|
+
type: PropType<boolean | string | string[] | null>;
|
743
|
+
default: null;
|
738
744
|
};
|
739
745
|
nextIcon: {
|
740
746
|
type: PropType<IconValue>;
|
@@ -759,8 +765,8 @@ declare const VDatePickerControls: {
|
|
759
765
|
default: undefined;
|
760
766
|
};
|
761
767
|
disabled: {
|
762
|
-
type: PropType<boolean | string | string[]>;
|
763
|
-
default:
|
768
|
+
type: PropType<boolean | string | string[] | null>;
|
769
|
+
default: null;
|
764
770
|
};
|
765
771
|
nextIcon: {
|
766
772
|
type: PropType<IconValue>;
|
@@ -1185,7 +1191,10 @@ declare const VDatePickerMonth: {
|
|
1185
1191
|
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
1186
1192
|
max: PropType<unknown>;
|
1187
1193
|
min: PropType<unknown>;
|
1188
|
-
disabled:
|
1194
|
+
disabled: {
|
1195
|
+
type: BooleanConstructor;
|
1196
|
+
default: null;
|
1197
|
+
};
|
1189
1198
|
month: (StringConstructor | NumberConstructor)[];
|
1190
1199
|
year: (StringConstructor | NumberConstructor)[];
|
1191
1200
|
modelValue: PropType<unknown[]>;
|
@@ -1230,7 +1239,10 @@ declare const VDatePickerMonth: {
|
|
1230
1239
|
}, vue.ExtractPropTypes<{
|
1231
1240
|
max: PropType<unknown>;
|
1232
1241
|
min: PropType<unknown>;
|
1233
|
-
disabled:
|
1242
|
+
disabled: {
|
1243
|
+
type: BooleanConstructor;
|
1244
|
+
default: null;
|
1245
|
+
};
|
1234
1246
|
month: (StringConstructor | NumberConstructor)[];
|
1235
1247
|
year: (StringConstructor | NumberConstructor)[];
|
1236
1248
|
modelValue: PropType<unknown[]>;
|
@@ -27732,7 +27732,10 @@ declare const VDatePicker: {
|
|
27732
27732
|
max: vue.PropType<unknown>;
|
27733
27733
|
min: vue.PropType<unknown>;
|
27734
27734
|
year: NumberConstructor;
|
27735
|
-
disabled:
|
27735
|
+
disabled: {
|
27736
|
+
type: BooleanConstructor;
|
27737
|
+
default: null;
|
27738
|
+
};
|
27736
27739
|
month: (StringConstructor | NumberConstructor)[];
|
27737
27740
|
showAdjacentMonths: BooleanConstructor;
|
27738
27741
|
weekdays: {
|
@@ -27843,7 +27846,10 @@ declare const VDatePicker: {
|
|
27843
27846
|
max: vue.PropType<unknown>;
|
27844
27847
|
min: vue.PropType<unknown>;
|
27845
27848
|
year: NumberConstructor;
|
27846
|
-
disabled:
|
27849
|
+
disabled: {
|
27850
|
+
type: BooleanConstructor;
|
27851
|
+
default: null;
|
27852
|
+
};
|
27847
27853
|
month: (StringConstructor | NumberConstructor)[];
|
27848
27854
|
showAdjacentMonths: BooleanConstructor;
|
27849
27855
|
weekdays: {
|
@@ -27915,7 +27921,7 @@ type VDatePicker = InstanceType<typeof VDatePicker>;
|
|
27915
27921
|
|
27916
27922
|
declare const VDatePickerControls: {
|
27917
27923
|
new (...args: any[]): vue.CreateComponentPublicInstance<{
|
27918
|
-
disabled: string | boolean | string[];
|
27924
|
+
disabled: string | boolean | string[] | null;
|
27919
27925
|
nextIcon: IconValue;
|
27920
27926
|
prevIcon: IconValue;
|
27921
27927
|
modeIcon: IconValue;
|
@@ -27945,7 +27951,7 @@ declare const VDatePickerControls: {
|
|
27945
27951
|
'click:next': () => true;
|
27946
27952
|
'click:text': () => true;
|
27947
27953
|
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
27948
|
-
disabled: string | boolean | string[];
|
27954
|
+
disabled: string | boolean | string[] | null;
|
27949
27955
|
nextIcon: IconValue;
|
27950
27956
|
prevIcon: IconValue;
|
27951
27957
|
modeIcon: IconValue;
|
@@ -27970,7 +27976,7 @@ declare const VDatePickerControls: {
|
|
27970
27976
|
"onClick:text"?: (() => any) | undefined;
|
27971
27977
|
}, {
|
27972
27978
|
active: string | string[];
|
27973
|
-
disabled: string | boolean | string[];
|
27979
|
+
disabled: string | boolean | string[] | null;
|
27974
27980
|
nextIcon: IconValue;
|
27975
27981
|
prevIcon: IconValue;
|
27976
27982
|
modeIcon: IconValue;
|
@@ -27985,7 +27991,7 @@ declare const VDatePickerControls: {
|
|
27985
27991
|
M: {};
|
27986
27992
|
Defaults: {};
|
27987
27993
|
}, {
|
27988
|
-
disabled: string | boolean | string[];
|
27994
|
+
disabled: string | boolean | string[] | null;
|
27989
27995
|
nextIcon: IconValue;
|
27990
27996
|
prevIcon: IconValue;
|
27991
27997
|
modeIcon: IconValue;
|
@@ -28010,7 +28016,7 @@ declare const VDatePickerControls: {
|
|
28010
28016
|
"onClick:text"?: (() => any) | undefined;
|
28011
28017
|
}, {}, {}, {}, {}, {
|
28012
28018
|
active: string | string[];
|
28013
|
-
disabled: string | boolean | string[];
|
28019
|
+
disabled: string | boolean | string[] | null;
|
28014
28020
|
nextIcon: IconValue;
|
28015
28021
|
prevIcon: IconValue;
|
28016
28022
|
modeIcon: IconValue;
|
@@ -28020,7 +28026,7 @@ declare const VDatePickerControls: {
|
|
28020
28026
|
__isTeleport?: never;
|
28021
28027
|
__isSuspense?: never;
|
28022
28028
|
} & vue.ComponentOptionsBase<{
|
28023
|
-
disabled: string | boolean | string[];
|
28029
|
+
disabled: string | boolean | string[] | null;
|
28024
28030
|
nextIcon: IconValue;
|
28025
28031
|
prevIcon: IconValue;
|
28026
28032
|
modeIcon: IconValue;
|
@@ -28051,7 +28057,7 @@ declare const VDatePickerControls: {
|
|
28051
28057
|
'click:text': () => true;
|
28052
28058
|
}, string, {
|
28053
28059
|
active: string | string[];
|
28054
|
-
disabled: string | boolean | string[];
|
28060
|
+
disabled: string | boolean | string[] | null;
|
28055
28061
|
nextIcon: IconValue;
|
28056
28062
|
prevIcon: IconValue;
|
28057
28063
|
modeIcon: IconValue;
|
@@ -28064,8 +28070,8 @@ declare const VDatePickerControls: {
|
|
28064
28070
|
default: undefined;
|
28065
28071
|
};
|
28066
28072
|
disabled: {
|
28067
|
-
type: PropType<boolean | string | string[]>;
|
28068
|
-
default:
|
28073
|
+
type: PropType<boolean | string | string[] | null>;
|
28074
|
+
default: null;
|
28069
28075
|
};
|
28070
28076
|
nextIcon: {
|
28071
28077
|
type: PropType<IconValue>;
|
@@ -28090,8 +28096,8 @@ declare const VDatePickerControls: {
|
|
28090
28096
|
default: undefined;
|
28091
28097
|
};
|
28092
28098
|
disabled: {
|
28093
|
-
type: PropType<boolean | string | string[]>;
|
28094
|
-
default:
|
28099
|
+
type: PropType<boolean | string | string[] | null>;
|
28100
|
+
default: null;
|
28095
28101
|
};
|
28096
28102
|
nextIcon: {
|
28097
28103
|
type: PropType<IconValue>;
|
@@ -28516,7 +28522,10 @@ declare const VDatePickerMonth: {
|
|
28516
28522
|
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
28517
28523
|
max: PropType<unknown>;
|
28518
28524
|
min: PropType<unknown>;
|
28519
|
-
disabled:
|
28525
|
+
disabled: {
|
28526
|
+
type: BooleanConstructor;
|
28527
|
+
default: null;
|
28528
|
+
};
|
28520
28529
|
month: (StringConstructor | NumberConstructor)[];
|
28521
28530
|
year: (StringConstructor | NumberConstructor)[];
|
28522
28531
|
modelValue: PropType<unknown[]>;
|
@@ -28561,7 +28570,10 @@ declare const VDatePickerMonth: {
|
|
28561
28570
|
}, vue.ExtractPropTypes<{
|
28562
28571
|
max: PropType<unknown>;
|
28563
28572
|
min: PropType<unknown>;
|
28564
|
-
disabled:
|
28573
|
+
disabled: {
|
28574
|
+
type: BooleanConstructor;
|
28575
|
+
default: null;
|
28576
|
+
};
|
28565
28577
|
month: (StringConstructor | NumberConstructor)[];
|
28566
28578
|
year: (StringConstructor | NumberConstructor)[];
|
28567
28579
|
modelValue: PropType<unknown[]>;
|
@@ -7,7 +7,10 @@ import { propsFactory, wrapInArray } from "../util/index.mjs"; // Types
|
|
7
7
|
// Composables
|
8
8
|
export const makeCalendarProps = propsFactory({
|
9
9
|
allowedDates: [Array, Function],
|
10
|
-
disabled:
|
10
|
+
disabled: {
|
11
|
+
type: Boolean,
|
12
|
+
default: null
|
13
|
+
},
|
11
14
|
displayValue: null,
|
12
15
|
modelValue: Array,
|
13
16
|
month: [Number, String],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"calendar.mjs","names":["getWeek","useDate","useProxiedModel","computed","propsFactory","wrapInArray","makeCalendarProps","allowedDates","Array","Function","disabled","Boolean","displayValue","modelValue","month","Number","String","max","min","showAdjacentMonths","year","weekdays","type","default","weeksInMonth","firstDayOfWeek","useCalendar","props","adapter","model","v","date","value","length","isArray","undefined","getYear","startOfYear","setYear","getMonth","startOfMonth","setMonth","defaultFirstDayOfWeek","weekDays","map","day","weeks","getWeekArray","days","flat","daysInMonth","lastDay","week","push","addDays","genDays","today","filter","includes","toJsDate","getDay","index","isoDate","toISO","isAdjacent","isSameMonth","isStart","isSameDay","isEnd","endOfMonth","isSame","formatted","format","isDisabled","isWeekStart","isWeekEnd","isToday","isHidden","isSelected","some","localized","daysInWeek","startOfWeek","weekNumbers","isAfter","d"],"sources":["../../src/composables/calendar.ts"],"sourcesContent":["// Composables\nimport { getWeek, useDate } from '@/composables/date/date'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport interface CalendarProps {\n allowedDates: unknown[] | ((date: unknown) => boolean) | undefined\n disabled: boolean\n displayValue?: unknown\n modelValue: unknown[] | undefined\n max: unknown\n min: unknown\n showAdjacentMonths: boolean\n month: number | string | undefined\n weekdays: number[]\n year: number | string | undefined\n weeksInMonth: 'dynamic' | 'static'\n firstDayOfWeek: number | string | undefined\n\n 'onUpdate:modelValue': ((value: unknown[]) => void) | undefined\n 'onUpdate:month': ((value: number) => void) | undefined\n 'onUpdate:year': ((value: number) => void) | undefined\n}\n\n// Composables\nexport const makeCalendarProps = propsFactory({\n allowedDates: [Array, Function] as PropType<unknown[] | ((date: unknown) => boolean)>,\n disabled: Boolean,\n displayValue: null as any as PropType<unknown>,\n modelValue: Array as PropType<unknown[]>,\n month: [Number, String],\n max: null as any as PropType<unknown>,\n min: null as any as PropType<unknown>,\n showAdjacentMonths: Boolean,\n year: [Number, String],\n weekdays: {\n type: Array<number>,\n default: () => [0, 1, 2, 3, 4, 5, 6],\n },\n weeksInMonth: {\n type: String as PropType<'dynamic' | 'static'>,\n default: 'dynamic',\n },\n firstDayOfWeek: [Number, String],\n}, 'calendar')\n\nexport function useCalendar (props: CalendarProps) {\n const adapter = useDate()\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v),\n )\n const displayValue = computed(() => {\n if (props.displayValue) return adapter.date(props.displayValue)\n if (model.value.length > 0) return adapter.date(model.value[0])\n if (props.min) return adapter.date(props.min)\n if (Array.isArray(props.allowedDates)) return adapter.date(props.allowedDates[0])\n\n return adapter.date()\n })\n\n const year = useProxiedModel(\n props,\n 'year',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getYear(displayValue.value)\n\n return adapter.startOfYear(adapter.setYear(adapter.date(), value))\n },\n v => adapter.getYear(v)\n )\n\n const month = useProxiedModel(\n props,\n 'month',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getMonth(displayValue.value)\n const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value))\n\n return adapter.setMonth(date, value)\n },\n v => adapter.getMonth(v)\n )\n\n const defaultFirstDayOfWeek = computed(() => {\n return props.firstDayOfWeek ?? props.weekdays[0]\n })\n\n const weekDays = computed(() => {\n const firstDayOfWeek = Number(props.firstDayOfWeek ?? 0)\n return props.weekdays.map(day => (day + firstDayOfWeek) % 7)\n })\n\n const weeksInMonth = computed(() => {\n const weeks = adapter.getWeekArray(month.value, defaultFirstDayOfWeek.value)\n\n const days = weeks.flat()\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // if weeksInMonth is 'static'\n const daysInMonth = 6 * 7\n if (props.weeksInMonth === 'static' && days.length < daysInMonth) {\n const lastDay = days[days.length - 1]\n\n let week = []\n for (let day = 1; day <= daysInMonth - days.length; day++) {\n week.push(adapter.addDays(lastDay, day))\n\n if (day % 7 === 0) {\n weeks.push(week)\n week = []\n }\n }\n }\n\n return weeks\n })\n\n function genDays (days: unknown[], today: unknown) {\n return days.filter(date => {\n return weekDays.value.includes(adapter.toJsDate(date).getDay())\n }).map((date, index) => {\n const isoDate = adapter.toISO(date)\n const isAdjacent = !adapter.isSameMonth(date, month.value)\n const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value))\n const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value))\n const isSame = adapter.isSameDay(date, month.value)\n\n return {\n date,\n isoDate,\n formatted: adapter.format(date, 'keyboardDate'),\n year: adapter.getYear(date),\n month: adapter.getMonth(date),\n isDisabled: isDisabled(date),\n isWeekStart: index % 7 === 0,\n isWeekEnd: index % 7 === 6,\n isToday: adapter.isSameDay(date, today),\n isAdjacent,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n isStart,\n isSelected: model.value.some(value => adapter.isSameDay(date, value)),\n isEnd,\n isSame,\n localized: adapter.format(date, 'dayOfMonth'),\n }\n })\n }\n\n const daysInWeek = computed(() => {\n const lastDay = adapter.startOfWeek(displayValue.value, props.firstDayOfWeek)\n const week = []\n for (let day = 0; day <= 6; day++) {\n week.push(adapter.addDays(lastDay, day))\n }\n\n const today = adapter.date()\n\n return genDays(week, today)\n })\n\n const daysInMonth = computed(() => {\n const days = weeksInMonth.value.flat()\n const today = adapter.date() as Date\n\n return genDays(days, today)\n })\n\n const weekNumbers = computed(() => {\n return weeksInMonth.value.map(week => {\n return week.length ? getWeek(adapter, week[0]) : null\n })\n })\n\n function isDisabled (value: unknown) {\n if (props.disabled) return true\n\n const date = adapter.date(value)\n\n if (props.min && adapter.isAfter(adapter.date(props.min), date)) return true\n if (props.max && adapter.isAfter(date, adapter.date(props.max))) return true\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {\n return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date))\n }\n\n if (typeof props.allowedDates === 'function') {\n return !props.allowedDates(date)\n }\n\n return false\n }\n\n return {\n displayValue,\n daysInMonth,\n daysInWeek,\n genDays,\n model,\n weeksInMonth,\n weekDays,\n weekNumbers,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"calendar.mjs","names":["getWeek","useDate","useProxiedModel","computed","propsFactory","wrapInArray","makeCalendarProps","allowedDates","Array","Function","disabled","type","Boolean","default","displayValue","modelValue","month","Number","String","max","min","showAdjacentMonths","year","weekdays","weeksInMonth","firstDayOfWeek","useCalendar","props","adapter","model","v","date","value","length","isArray","undefined","getYear","startOfYear","setYear","getMonth","startOfMonth","setMonth","defaultFirstDayOfWeek","weekDays","map","day","weeks","getWeekArray","days","flat","daysInMonth","lastDay","week","push","addDays","genDays","today","filter","includes","toJsDate","getDay","index","isoDate","toISO","isAdjacent","isSameMonth","isStart","isSameDay","isEnd","endOfMonth","isSame","formatted","format","isDisabled","isWeekStart","isWeekEnd","isToday","isHidden","isSelected","some","localized","daysInWeek","startOfWeek","weekNumbers","isAfter","d"],"sources":["../../src/composables/calendar.ts"],"sourcesContent":["// Composables\nimport { getWeek, useDate } from '@/composables/date/date'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport interface CalendarProps {\n allowedDates: unknown[] | ((date: unknown) => boolean) | undefined\n disabled: boolean\n displayValue?: unknown\n modelValue: unknown[] | undefined\n max: unknown\n min: unknown\n showAdjacentMonths: boolean\n month: number | string | undefined\n weekdays: number[]\n year: number | string | undefined\n weeksInMonth: 'dynamic' | 'static'\n firstDayOfWeek: number | string | undefined\n\n 'onUpdate:modelValue': ((value: unknown[]) => void) | undefined\n 'onUpdate:month': ((value: number) => void) | undefined\n 'onUpdate:year': ((value: number) => void) | undefined\n}\n\n// Composables\nexport const makeCalendarProps = propsFactory({\n allowedDates: [Array, Function] as PropType<unknown[] | ((date: unknown) => boolean)>,\n disabled: {\n type: Boolean,\n default: null,\n },\n displayValue: null as any as PropType<unknown>,\n modelValue: Array as PropType<unknown[]>,\n month: [Number, String],\n max: null as any as PropType<unknown>,\n min: null as any as PropType<unknown>,\n showAdjacentMonths: Boolean,\n year: [Number, String],\n weekdays: {\n type: Array<number>,\n default: () => [0, 1, 2, 3, 4, 5, 6],\n },\n weeksInMonth: {\n type: String as PropType<'dynamic' | 'static'>,\n default: 'dynamic',\n },\n firstDayOfWeek: [Number, String],\n}, 'calendar')\n\nexport function useCalendar (props: CalendarProps) {\n const adapter = useDate()\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v),\n )\n const displayValue = computed(() => {\n if (props.displayValue) return adapter.date(props.displayValue)\n if (model.value.length > 0) return adapter.date(model.value[0])\n if (props.min) return adapter.date(props.min)\n if (Array.isArray(props.allowedDates)) return adapter.date(props.allowedDates[0])\n\n return adapter.date()\n })\n\n const year = useProxiedModel(\n props,\n 'year',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getYear(displayValue.value)\n\n return adapter.startOfYear(adapter.setYear(adapter.date(), value))\n },\n v => adapter.getYear(v)\n )\n\n const month = useProxiedModel(\n props,\n 'month',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getMonth(displayValue.value)\n const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value))\n\n return adapter.setMonth(date, value)\n },\n v => adapter.getMonth(v)\n )\n\n const defaultFirstDayOfWeek = computed(() => {\n return props.firstDayOfWeek ?? props.weekdays[0]\n })\n\n const weekDays = computed(() => {\n const firstDayOfWeek = Number(props.firstDayOfWeek ?? 0)\n return props.weekdays.map(day => (day + firstDayOfWeek) % 7)\n })\n\n const weeksInMonth = computed(() => {\n const weeks = adapter.getWeekArray(month.value, defaultFirstDayOfWeek.value)\n\n const days = weeks.flat()\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // if weeksInMonth is 'static'\n const daysInMonth = 6 * 7\n if (props.weeksInMonth === 'static' && days.length < daysInMonth) {\n const lastDay = days[days.length - 1]\n\n let week = []\n for (let day = 1; day <= daysInMonth - days.length; day++) {\n week.push(adapter.addDays(lastDay, day))\n\n if (day % 7 === 0) {\n weeks.push(week)\n week = []\n }\n }\n }\n\n return weeks\n })\n\n function genDays (days: unknown[], today: unknown) {\n return days.filter(date => {\n return weekDays.value.includes(adapter.toJsDate(date).getDay())\n }).map((date, index) => {\n const isoDate = adapter.toISO(date)\n const isAdjacent = !adapter.isSameMonth(date, month.value)\n const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value))\n const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value))\n const isSame = adapter.isSameDay(date, month.value)\n\n return {\n date,\n isoDate,\n formatted: adapter.format(date, 'keyboardDate'),\n year: adapter.getYear(date),\n month: adapter.getMonth(date),\n isDisabled: isDisabled(date),\n isWeekStart: index % 7 === 0,\n isWeekEnd: index % 7 === 6,\n isToday: adapter.isSameDay(date, today),\n isAdjacent,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n isStart,\n isSelected: model.value.some(value => adapter.isSameDay(date, value)),\n isEnd,\n isSame,\n localized: adapter.format(date, 'dayOfMonth'),\n }\n })\n }\n\n const daysInWeek = computed(() => {\n const lastDay = adapter.startOfWeek(displayValue.value, props.firstDayOfWeek)\n const week = []\n for (let day = 0; day <= 6; day++) {\n week.push(adapter.addDays(lastDay, day))\n }\n\n const today = adapter.date()\n\n return genDays(week, today)\n })\n\n const daysInMonth = computed(() => {\n const days = weeksInMonth.value.flat()\n const today = adapter.date() as Date\n\n return genDays(days, today)\n })\n\n const weekNumbers = computed(() => {\n return weeksInMonth.value.map(week => {\n return week.length ? getWeek(adapter, week[0]) : null\n })\n })\n\n function isDisabled (value: unknown) {\n if (props.disabled) return true\n\n const date = adapter.date(value)\n\n if (props.min && adapter.isAfter(adapter.date(props.min), date)) return true\n if (props.max && adapter.isAfter(date, adapter.date(props.max))) return true\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {\n return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date))\n }\n\n if (typeof props.allowedDates === 'function') {\n return !props.allowedDates(date)\n }\n\n return false\n }\n\n return {\n displayValue,\n daysInMonth,\n daysInWeek,\n genDays,\n model,\n weeksInMonth,\n weekDays,\n weekNumbers,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/entry-bundler.mjs
CHANGED
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
16
16
|
...options
|
17
17
|
});
|
18
18
|
};
|
19
|
-
export const version = "3.7.12-master.2025-02-
|
19
|
+
export const version = "3.7.12-master.2025-02-17";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.mjs";
|
package/lib/framework.mjs
CHANGED