@vuetify/nightly 3.8.4-master.2025-05-13 → 3.8.5-master.2025-05-14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +3 -27
  2. package/dist/_component-variables-labs.sass +1 -0
  3. package/dist/json/attributes.json +3177 -2841
  4. package/dist/json/importMap-labs.json +36 -32
  5. package/dist/json/importMap.json +180 -180
  6. package/dist/json/tags.json +89 -0
  7. package/dist/json/web-types.json +6734 -5547
  8. package/dist/vuetify-labs.cjs +272 -82
  9. package/dist/vuetify-labs.css +5164 -5136
  10. package/dist/vuetify-labs.d.ts +1371 -309
  11. package/dist/vuetify-labs.esm.js +272 -82
  12. package/dist/vuetify-labs.esm.js.map +1 -1
  13. package/dist/vuetify-labs.js +272 -82
  14. package/dist/vuetify-labs.min.css +2 -2
  15. package/dist/vuetify.cjs +5 -4
  16. package/dist/vuetify.cjs.map +1 -1
  17. package/dist/vuetify.css +3047 -3022
  18. package/dist/vuetify.d.ts +70 -67
  19. package/dist/vuetify.esm.js +5 -4
  20. package/dist/vuetify.esm.js.map +1 -1
  21. package/dist/vuetify.js +5 -4
  22. package/dist/vuetify.js.map +1 -1
  23. package/dist/vuetify.min.css +2 -2
  24. package/dist/vuetify.min.js +4 -4
  25. package/dist/vuetify.min.js.map +1 -1
  26. package/lib/components/VBottomSheet/VBottomSheet.css +1 -1
  27. package/lib/components/VBottomSheet/VBottomSheet.sass +1 -1
  28. package/lib/components/VBtn/VBtn.css +25 -0
  29. package/lib/components/VBtn/VBtn.sass +9 -0
  30. package/lib/components/VBtn/_variables.scss +1 -0
  31. package/lib/components/VSnackbarQueue/VSnackbarQueue.d.ts +3 -1
  32. package/lib/components/VSnackbarQueue/VSnackbarQueue.js.map +1 -1
  33. package/lib/composables/dateFormat.d.ts +24 -0
  34. package/lib/composables/dateFormat.js +112 -0
  35. package/lib/composables/dateFormat.js.map +1 -0
  36. package/lib/entry-bundler.js +1 -1
  37. package/lib/framework.d.ts +70 -67
  38. package/lib/framework.js +1 -1
  39. package/lib/iconsets/mdi.js +2 -1
  40. package/lib/iconsets/mdi.js.map +1 -1
  41. package/lib/labs/VColorInput/VColorInput.css +4 -0
  42. package/lib/labs/VColorInput/VColorInput.d.ts +1767 -0
  43. package/lib/labs/VColorInput/VColorInput.js +129 -0
  44. package/lib/labs/VColorInput/VColorInput.js.map +1 -0
  45. package/lib/labs/VColorInput/VColorInput.sass +7 -0
  46. package/lib/labs/VColorInput/_variables.scss +2 -0
  47. package/lib/labs/VColorInput/index.d.ts +1 -0
  48. package/lib/labs/VColorInput/index.js +2 -0
  49. package/lib/labs/VColorInput/index.js.map +1 -0
  50. package/lib/labs/VDateInput/VDateInput.d.ts +28 -31
  51. package/lib/labs/VDateInput/VDateInput.js +38 -79
  52. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  53. package/lib/labs/components.d.ts +1 -0
  54. package/lib/labs/components.js +1 -0
  55. package/lib/labs/components.js.map +1 -1
  56. package/package.json +1 -1
@@ -11,7 +11,7 @@
11
11
  flex: 0 1 auto;
12
12
  left: 0;
13
13
  right: 0;
14
- margin-inline: 0;
14
+ margin-inline: auto;
15
15
  margin-bottom: 0;
16
16
  transition-duration: 0.2s;
17
17
  width: 100%;
@@ -21,7 +21,7 @@
21
21
  flex: 0 1 auto
22
22
  left: 0
23
23
  right: 0
24
- margin-inline: 0
24
+ margin-inline: auto
25
25
  margin-bottom: 0
26
26
  transition-duration: $bottom-sheet-transition-duration
27
27
  width: 100%
@@ -410,6 +410,19 @@
410
410
  height: 100%;
411
411
  }
412
412
 
413
+ .v-pagination .v-btn {
414
+ width: auto;
415
+ padding-inline: 5px;
416
+ }
417
+ .v-pagination .v-btn.v-btn--density-default {
418
+ min-width: calc(var(--v-btn-height) + 12px);
419
+ }
420
+ .v-pagination .v-btn.v-btn--density-comfortable {
421
+ min-width: calc(var(--v-btn-height) + 0px);
422
+ }
423
+ .v-pagination .v-btn.v-btn--density-compact {
424
+ min-width: calc(var(--v-btn-height) + -8px);
425
+ }
413
426
  .v-pagination .v-btn {
414
427
  border-radius: 4px;
415
428
  }
@@ -419,6 +432,18 @@
419
432
  .v-pagination .v-btn__overlay {
420
433
  transition: none;
421
434
  }
435
+ .v-pagination__prev .v-btn, .v-pagination__next .v-btn {
436
+ padding-inline: 0;
437
+ }
438
+ .v-pagination__prev .v-btn.v-btn--density-default, .v-pagination__next .v-btn.v-btn--density-default {
439
+ width: calc(var(--v-btn-height) + 12px);
440
+ }
441
+ .v-pagination__prev .v-btn.v-btn--density-comfortable, .v-pagination__next .v-btn.v-btn--density-comfortable {
442
+ width: calc(var(--v-btn-height) + 0px);
443
+ }
444
+ .v-pagination__prev .v-btn.v-btn--density-compact, .v-pagination__next .v-btn.v-btn--density-compact {
445
+ width: calc(var(--v-btn-height) + -8px);
446
+ }
422
447
  .v-pagination .v-pagination__item--is-active .v-btn__overlay {
423
448
  opacity: var(--v-border-opacity);
424
449
  }
@@ -234,6 +234,9 @@
234
234
  // VPagination
235
235
  .v-pagination
236
236
  .v-btn
237
+ width: auto
238
+ padding-inline: $button-pagination-padding-inline
239
+ @include button-density('min-width', $button-icon-density)
237
240
  @include tools.rounded($button-pagination-border-radius)
238
241
 
239
242
  &--rounded
@@ -242,5 +245,11 @@
242
245
  &__overlay
243
246
  transition: none
244
247
 
248
+ &__prev,
249
+ &__next
250
+ .v-btn
251
+ padding-inline: 0
252
+ @include button-density('width', $button-icon-density)
253
+
245
254
  .v-pagination__item--is-active .v-btn__overlay
246
255
  opacity: $button-pagination-active-overlay-opacity
@@ -12,6 +12,7 @@ $button-color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)) !
12
12
  $button-banner-actions-padding: 0 8px !default; // @deprecated
13
13
  $button-pagination-active-overlay-opacity: var(--v-border-opacity) !default;
14
14
  $button-pagination-border-radius: settings.$border-radius-root !default;
15
+ $button-pagination-padding-inline: 5px !default;
15
16
  $button-pagination-rounded-border-radius: map.get(settings.$rounded, 'circle') !default;
16
17
  $button-border-color: settings.$border-color-root !default;
17
18
  $button-border-radius: settings.$border-radius-root !default;
@@ -15,7 +15,9 @@ export type VSnackbarQueueSlots<T extends string | SnackbarMessage> = {
15
15
  };
16
16
  };
17
17
  };
18
- export type SnackbarMessage = string | Omit<VSnackbar['$props'], 'modelValue' | 'onUpdate:modelValue' | 'activator' | 'activatorProps' | 'closeDelay' | 'openDelay' | 'openOnClick' | 'openOnFocus' | 'openOnHover' | '$children' | 'v-slots' | `v-slot:${string}` | keyof VNodeProps>;
18
+ export type SnackbarMessage = string | (Omit<VSnackbar['$props'], 'modelValue' | 'onUpdate:modelValue' | 'activator' | 'activatorProps' | 'closeDelay' | 'openDelay' | 'openOnClick' | 'openOnFocus' | 'openOnHover' | 'style' | '$children' | 'v-slots' | `v-slot:${string}` | keyof VNodeProps> & {
19
+ style?: any;
20
+ });
19
21
  export declare const makeVSnackbarQueueProps: <Defaults extends {
20
22
  variant?: unknown;
21
23
  offset?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"VSnackbarQueue.js","names":["VBtn","VDefaultsProvider","makeVSnackbarProps","VSnackbar","useLocale","computed","nextTick","shallowRef","watch","genericComponent","omit","propsFactory","useRender","makeVSnackbarQueueProps","closable","Boolean","String","closeText","type","default","modelValue","Array","VSnackbarQueue","name","props","emits","val","setup","_ref","emit","slots","t","isActive","isVisible","current","length","oldVal","value","showNext","onAfterLeave","undefined","next","rest","text","onClickClose","btnProps","color","hasActions","actions","_","snackbarProps","filterProps","_createVNode","_Fragment","item","_mergeProps","$event","onClick"],"sources":["../../../src/components/VSnackbarQueue/VSnackbarQueue.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVSnackbarProps, VSnackbar } from '@/components/VSnackbar/VSnackbar'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, nextTick, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType, VNodeProps } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport type VSnackbarQueueSlots<T extends string | SnackbarMessage> = {\n default: { item: T }\n text: { item: T }\n actions: {\n item: T\n props: {\n onClick: () => void\n }\n }\n}\n\nexport type SnackbarMessage = string | Omit<\n VSnackbar['$props'],\n | 'modelValue'\n | 'onUpdate:modelValue'\n | 'activator'\n | 'activatorProps'\n | 'closeDelay'\n | 'openDelay'\n | 'openOnClick'\n | 'openOnFocus'\n | 'openOnHover'\n | '$children'\n | 'v-slots'\n | `v-slot:${string}`\n | keyof VNodeProps\n>\n\nexport const makeVSnackbarQueueProps = propsFactory({\n // TODO: Port this to Snackbar on dev\n closable: [Boolean, String],\n closeText: {\n type: String,\n default: '$vuetify.dismiss',\n },\n modelValue: {\n type: Array as PropType<readonly SnackbarMessage[]>,\n default: () => [],\n },\n\n ...omit(makeVSnackbarProps(), ['modelValue']),\n}, 'VSnackbarQueue')\n\nexport const VSnackbarQueue = genericComponent<new <T extends readonly SnackbarMessage[]> (\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => void\n },\n slots: VSnackbarQueueSlots<T[number]>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VSnackbarQueue',\n\n props: makeVSnackbarQueueProps(),\n\n emits: {\n 'update:modelValue': (val: SnackbarMessage[]) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n\n const isActive = shallowRef(false)\n const isVisible = shallowRef(false)\n const current = shallowRef<Exclude<SnackbarMessage, string>>()\n\n watch(() => props.modelValue.length, (val, oldVal) => {\n if (!isVisible.value && val > oldVal) {\n showNext()\n }\n })\n watch(isActive, val => {\n if (val) isVisible.value = true\n })\n\n function onAfterLeave () {\n if (props.modelValue.length) {\n showNext()\n } else {\n current.value = undefined\n isVisible.value = false\n }\n }\n function showNext () {\n const [next, ...rest] = props.modelValue\n emit('update:modelValue', rest)\n current.value = typeof next === 'string' ? { text: next } : next\n nextTick(() => {\n isActive.value = true\n })\n }\n function onClickClose () {\n isActive.value = false\n }\n\n const btnProps = computed(() => ({\n color: typeof props.closable === 'string' ? props.closable : undefined,\n text: t(props.closeText),\n }))\n\n useRender(() => {\n const hasActions = !!(props.closable || slots.actions)\n const { modelValue: _, ...snackbarProps } = VSnackbar.filterProps(props as any)\n\n return (\n <>\n { isVisible.value && !!current.value && (\n slots.default\n ? (\n <VDefaultsProvider defaults={{ VSnackbar: current.value }}>\n { slots.default({ item: current.value }) }\n </VDefaultsProvider>\n ) : (\n <VSnackbar\n { ...snackbarProps }\n { ...current.value }\n v-model={ isActive.value }\n onAfterLeave={ onAfterLeave }\n >\n {{\n text: slots.text ? () => slots.text?.({ item: current.value! }) : undefined,\n actions: hasActions ? () => (\n <>\n { !slots.actions ? (\n <VBtn\n { ...btnProps.value }\n onClick={ onClickClose }\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VBtn: btnProps.value,\n }}\n >\n { slots.actions({\n item: current.value!,\n props: { onClick: onClickClose },\n })}\n </VDefaultsProvider>\n )}\n </>\n ) : undefined,\n }}\n </VSnackbar>\n )\n )}\n </>\n )\n })\n },\n})\n\nexport type VSnackbarQueue = InstanceType<typeof VSnackbarQueue>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VSnackbarQueue.js","names":["VBtn","VDefaultsProvider","makeVSnackbarProps","VSnackbar","useLocale","computed","nextTick","shallowRef","watch","genericComponent","omit","propsFactory","useRender","makeVSnackbarQueueProps","closable","Boolean","String","closeText","type","default","modelValue","Array","VSnackbarQueue","name","props","emits","val","setup","_ref","emit","slots","t","isActive","isVisible","current","length","oldVal","value","showNext","onAfterLeave","undefined","next","rest","text","onClickClose","btnProps","color","hasActions","actions","_","snackbarProps","filterProps","_createVNode","_Fragment","item","_mergeProps","$event","onClick"],"sources":["../../../src/components/VSnackbarQueue/VSnackbarQueue.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVSnackbarProps, VSnackbar } from '@/components/VSnackbar/VSnackbar'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, nextTick, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType, VNodeProps } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport type VSnackbarQueueSlots<T extends string | SnackbarMessage> = {\n default: { item: T }\n text: { item: T }\n actions: {\n item: T\n props: {\n onClick: () => void\n }\n }\n}\n\nexport type SnackbarMessage =\n | string\n | (Omit<\n VSnackbar['$props'],\n | 'modelValue'\n | 'onUpdate:modelValue'\n | 'activator'\n | 'activatorProps'\n | 'closeDelay'\n | 'openDelay'\n | 'openOnClick'\n | 'openOnFocus'\n | 'openOnHover'\n | 'style'\n | '$children'\n | 'v-slots'\n | `v-slot:${string}`\n | keyof VNodeProps\n > & { style?: any })\n\nexport const makeVSnackbarQueueProps = propsFactory({\n // TODO: Port this to Snackbar on dev\n closable: [Boolean, String],\n closeText: {\n type: String,\n default: '$vuetify.dismiss',\n },\n modelValue: {\n type: Array as PropType<readonly SnackbarMessage[]>,\n default: () => [],\n },\n\n ...omit(makeVSnackbarProps(), ['modelValue']),\n}, 'VSnackbarQueue')\n\nexport const VSnackbarQueue = genericComponent<new <T extends readonly SnackbarMessage[]> (\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => void\n },\n slots: VSnackbarQueueSlots<T[number]>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VSnackbarQueue',\n\n props: makeVSnackbarQueueProps(),\n\n emits: {\n 'update:modelValue': (val: SnackbarMessage[]) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n\n const isActive = shallowRef(false)\n const isVisible = shallowRef(false)\n const current = shallowRef<Exclude<SnackbarMessage, string>>()\n\n watch(() => props.modelValue.length, (val, oldVal) => {\n if (!isVisible.value && val > oldVal) {\n showNext()\n }\n })\n watch(isActive, val => {\n if (val) isVisible.value = true\n })\n\n function onAfterLeave () {\n if (props.modelValue.length) {\n showNext()\n } else {\n current.value = undefined\n isVisible.value = false\n }\n }\n function showNext () {\n const [next, ...rest] = props.modelValue\n emit('update:modelValue', rest)\n current.value = typeof next === 'string' ? { text: next } : next\n nextTick(() => {\n isActive.value = true\n })\n }\n function onClickClose () {\n isActive.value = false\n }\n\n const btnProps = computed(() => ({\n color: typeof props.closable === 'string' ? props.closable : undefined,\n text: t(props.closeText),\n }))\n\n useRender(() => {\n const hasActions = !!(props.closable || slots.actions)\n const { modelValue: _, ...snackbarProps } = VSnackbar.filterProps(props as any)\n\n return (\n <>\n { isVisible.value && !!current.value && (\n slots.default\n ? (\n <VDefaultsProvider defaults={{ VSnackbar: current.value }}>\n { slots.default({ item: current.value }) }\n </VDefaultsProvider>\n ) : (\n <VSnackbar\n { ...snackbarProps }\n { ...current.value }\n v-model={ isActive.value }\n onAfterLeave={ onAfterLeave }\n >\n {{\n text: slots.text ? () => slots.text?.({ item: current.value! }) : undefined,\n actions: hasActions ? () => (\n <>\n { !slots.actions ? (\n <VBtn\n { ...btnProps.value }\n onClick={ onClickClose }\n />\n ) : (\n <VDefaultsProvider\n defaults={{\n VBtn: btnProps.value,\n }}\n >\n { slots.actions({\n item: current.value!,\n props: { onClick: onClickClose },\n })}\n </VDefaultsProvider>\n )}\n </>\n ) : undefined,\n }}\n </VSnackbar>\n )\n )}\n </>\n )\n })\n },\n})\n\nexport type VSnackbarQueue = InstanceType<typeof VSnackbarQueue>\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ import type { Ref } from 'vue';
2
+ export interface DateFormatProps {
3
+ inputFormat?: string;
4
+ }
5
+ export declare const makeDateFormatProps: <Defaults extends {
6
+ inputFormat?: unknown;
7
+ } = {}>(defaults?: Defaults | undefined) => {
8
+ inputFormat: unknown extends Defaults["inputFormat"] ? {
9
+ type: StringConstructor;
10
+ validator: (v: string) => boolean;
11
+ } : Omit<{
12
+ type: StringConstructor;
13
+ validator: (v: string) => boolean;
14
+ }, "type" | "default"> & {
15
+ type: import("vue").PropType<unknown extends Defaults["inputFormat"] ? string : string | Defaults["inputFormat"]>;
16
+ default: unknown extends Defaults["inputFormat"] ? string : string | Defaults["inputFormat"];
17
+ };
18
+ };
19
+ export declare function useDateFormat(props: DateFormatProps, locale: Ref<string>): {
20
+ isValid: (text: string) => boolean;
21
+ parseDate: (dateString: string) => unknown;
22
+ formatDate: (value: unknown) => string;
23
+ parserFormat: Readonly<Ref<string, string>>;
24
+ };
@@ -0,0 +1,112 @@
1
+ // Composables
2
+ import { useDate } from "./date/date.js"; // Utilities
3
+ import { toRef } from 'vue';
4
+ import { consoleWarn, propsFactory } from "../util/index.js"; // Types
5
+ // Types
6
+ class DateFormatSpec {
7
+ constructor(order,
8
+ // mdy | dmy | ymd
9
+ separator // / | - | .
10
+ ) {
11
+ this.order = order;
12
+ this.separator = separator;
13
+ }
14
+ get format() {
15
+ return this.order.split('').map(sign => `${sign}${sign}`).join(this.separator).replace('yy', 'yyyy');
16
+ }
17
+ static canBeParsed(v) {
18
+ if (typeof v !== 'string') return false;
19
+ const lowercase = v.toLowerCase();
20
+ return ['y', 'm', 'd'].every(sign => lowercase.includes(sign)) && ['/', '-', '.'].some(sign => v.includes(sign));
21
+ }
22
+ static parse(v) {
23
+ if (!DateFormatSpec.canBeParsed(v)) {
24
+ throw new Error(`[${v}] cannot be parsed into date format specification`);
25
+ }
26
+ const order = v.toLowerCase().split('').filter((c, i, all) => 'dmy'.includes(c) && all.indexOf(c) === i).join('');
27
+ const separator = ['/', '-', '.'].find(sign => v.includes(sign));
28
+ return new DateFormatSpec(order, separator);
29
+ }
30
+ }
31
+ export const makeDateFormatProps = propsFactory({
32
+ inputFormat: {
33
+ type: String,
34
+ validator: v => !v || DateFormatSpec.canBeParsed(v)
35
+ }
36
+ }, 'date-format');
37
+ export function useDateFormat(props, locale) {
38
+ const adapter = useDate();
39
+ function inferFromLocale() {
40
+ const localeForDateFormat = locale.value ?? 'en-US';
41
+ const formatFromLocale = Intl.DateTimeFormat(localeForDateFormat, {
42
+ year: 'numeric',
43
+ month: '2-digit',
44
+ day: '2-digit'
45
+ }).format(adapter.toJsDate(adapter.parseISO('1999-12-07'))).replace(/(07)|(٠٧)|(٢٩)|(۱۶)|(০৭)/, 'dd').replace(/(12)|(١٢)|(٠٨)|(۰۹)|(১২)/, 'mm').replace(/(1999)|(2542)|(١٩٩٩)|(١٤٢٠)|(۱۳۷۸)|(১৯৯৯)/, 'yyyy').replace(/[^ymd\-/.]/g, '').replace(/\.$/, '');
46
+ if (!DateFormatSpec.canBeParsed(formatFromLocale)) {
47
+ consoleWarn(`Date format inferred from locale [${localeForDateFormat}] is invalid: [${formatFromLocale}]`);
48
+ return 'mm/dd/yyyy';
49
+ }
50
+ return formatFromLocale;
51
+ }
52
+ const currentFormat = toRef(() => {
53
+ return DateFormatSpec.canBeParsed(props.inputFormat) ? DateFormatSpec.parse(props.inputFormat) : DateFormatSpec.parse(inferFromLocale());
54
+ });
55
+ function parseDate(dateString) {
56
+ function parseDateParts(text) {
57
+ const parts = text.trim().split(currentFormat.value.separator);
58
+ return {
59
+ y: Number(parts[currentFormat.value.order.indexOf('y')]),
60
+ m: Number(parts[currentFormat.value.order.indexOf('m')]),
61
+ d: Number(parts[currentFormat.value.order.indexOf('d')])
62
+ };
63
+ }
64
+ function validateDateParts(dateParts) {
65
+ const {
66
+ y: year,
67
+ m: month,
68
+ d: day
69
+ } = dateParts;
70
+ if (!year || !month || !day) return null;
71
+ if (month < 1 || month > 12) return null;
72
+ if (day < 1 || day > 31) return null;
73
+ return {
74
+ year: autoFixYear(year),
75
+ month,
76
+ day
77
+ };
78
+ }
79
+ function autoFixYear(year) {
80
+ const currentYear = adapter.getYear(adapter.date());
81
+ if (year > 100 || currentYear % 100 >= 50) {
82
+ return year;
83
+ }
84
+ const currentCentury = ~~(currentYear / 100) * 100;
85
+ return year < 50 ? currentCentury + year : currentCentury - 100 + year;
86
+ }
87
+ const dateParts = parseDateParts(dateString);
88
+ const validatedParts = validateDateParts(dateParts);
89
+ if (!validatedParts) return null;
90
+ const {
91
+ year,
92
+ month,
93
+ day
94
+ } = validatedParts;
95
+ const pad = v => String(v).padStart(2, '0');
96
+ return adapter.parseISO(`${year}-${pad(month)}-${pad(day)}`);
97
+ }
98
+ function isValid(text) {
99
+ return !!parseDate(text);
100
+ }
101
+ function formatDate(value) {
102
+ const parts = adapter.toISO(value).split('-');
103
+ return currentFormat.value.order.split('').map(sign => parts['ymd'.indexOf(sign)]).join(currentFormat.value.separator);
104
+ }
105
+ return {
106
+ isValid,
107
+ parseDate,
108
+ formatDate,
109
+ parserFormat: toRef(() => currentFormat.value.format)
110
+ };
111
+ }
112
+ //# sourceMappingURL=dateFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateFormat.js","names":["useDate","toRef","consoleWarn","propsFactory","DateFormatSpec","constructor","order","separator","format","split","map","sign","join","replace","canBeParsed","v","lowercase","toLowerCase","every","includes","some","parse","Error","filter","c","i","all","indexOf","find","makeDateFormatProps","inputFormat","type","String","validator","useDateFormat","props","locale","adapter","inferFromLocale","localeForDateFormat","value","formatFromLocale","Intl","DateTimeFormat","year","month","day","toJsDate","parseISO","currentFormat","parseDate","dateString","parseDateParts","text","parts","trim","y","Number","m","d","validateDateParts","dateParts","autoFixYear","currentYear","getYear","date","currentCentury","validatedParts","pad","padStart","isValid","formatDate","toISO","parserFormat"],"sources":["../../src/composables/dateFormat.ts"],"sourcesContent":["// Composables\nimport { useDate } from '@/composables/date/date'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { consoleWarn, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\n// Types\nexport interface DateFormatProps {\n inputFormat?: string\n}\n\nclass DateFormatSpec {\n constructor (\n public readonly order: string, // mdy | dmy | ymd\n public readonly separator: string // / | - | .\n ) { }\n\n get format () {\n return this.order.split('')\n .map(sign => `${sign}${sign}`)\n .join(this.separator)\n .replace('yy', 'yyyy')\n }\n\n static canBeParsed (v: any) {\n if (typeof v !== 'string') return false\n const lowercase = v.toLowerCase()\n return ['y', 'm', 'd'].every(sign => lowercase.includes(sign)) &&\n ['/', '-', '.'].some(sign => v.includes(sign))\n }\n\n static parse (v: string) {\n if (!DateFormatSpec.canBeParsed(v)) {\n throw new Error(`[${v}] cannot be parsed into date format specification`)\n }\n const order = v.toLowerCase().split('')\n .filter((c, i, all) => 'dmy'.includes(c) && all.indexOf(c) === i)\n .join('')\n const separator = ['/', '-', '.'].find(sign => v.includes(sign))!\n return new DateFormatSpec(order, separator)\n }\n}\n\nexport const makeDateFormatProps = propsFactory({\n inputFormat: {\n type: String,\n validator: (v: string) => !v || DateFormatSpec.canBeParsed(v),\n },\n}, 'date-format')\n\nexport function useDateFormat (props: DateFormatProps, locale: Ref<string>) {\n const adapter = useDate()\n\n function inferFromLocale () {\n const localeForDateFormat = locale.value ?? 'en-US'\n const formatFromLocale = Intl.DateTimeFormat(localeForDateFormat, { year: 'numeric', month: '2-digit', day: '2-digit' })\n .format(adapter.toJsDate(adapter.parseISO('1999-12-07')))\n .replace(/(07)|(٠٧)|(٢٩)|(۱۶)|(০৭)/, 'dd')\n .replace(/(12)|(١٢)|(٠٨)|(۰۹)|(১২)/, 'mm')\n .replace(/(1999)|(2542)|(١٩٩٩)|(١٤٢٠)|(۱۳۷۸)|(১৯৯৯)/, 'yyyy')\n .replace(/[^ymd\\-/.]/g, '')\n .replace(/\\.$/, '')\n\n if (!DateFormatSpec.canBeParsed(formatFromLocale)) {\n consoleWarn(`Date format inferred from locale [${localeForDateFormat}] is invalid: [${formatFromLocale}]`)\n return 'mm/dd/yyyy'\n }\n\n return formatFromLocale\n }\n\n const currentFormat = toRef(() => {\n return DateFormatSpec.canBeParsed(props.inputFormat)\n ? DateFormatSpec.parse(props.inputFormat!)\n : DateFormatSpec.parse(inferFromLocale())\n })\n\n function parseDate (dateString: string) {\n function parseDateParts (text: string): Record<'y' |'m' | 'd', number> {\n const parts = text.trim().split(currentFormat.value.separator)\n\n return {\n y: Number(parts[currentFormat.value.order.indexOf('y')]),\n m: Number(parts[currentFormat.value.order.indexOf('m')]),\n d: Number(parts[currentFormat.value.order.indexOf('d')]),\n }\n }\n\n function validateDateParts (dateParts: Record<string, number>) {\n const { y: year, m: month, d: day } = dateParts\n if (!year || !month || !day) return null\n if (month < 1 || month > 12) return null\n if (day < 1 || day > 31) return null\n\n return { year: autoFixYear(year), month, day }\n }\n\n function autoFixYear (year: number) {\n const currentYear = adapter.getYear(adapter.date())\n if (year > 100 || currentYear % 100 >= 50) {\n return year\n }\n\n const currentCentury = ~~(currentYear / 100) * 100\n\n return year < 50\n ? currentCentury + year\n : (currentCentury - 100) + year\n }\n\n const dateParts = parseDateParts(dateString)\n const validatedParts = validateDateParts(dateParts)\n\n if (!validatedParts) return null\n\n const { year, month, day } = validatedParts\n\n const pad = (v: number) => String(v).padStart(2, '0')\n\n return adapter.parseISO(`${year}-${pad(month)}-${pad(day)}`)\n }\n\n function isValid (text: string) {\n return !!parseDate(text)\n }\n\n function formatDate (value: unknown) {\n const parts = adapter.toISO(value).split('-')\n\n return currentFormat.value.order.split('')\n .map(sign => parts['ymd'.indexOf(sign)])\n .join(currentFormat.value.separator)\n }\n\n return {\n isValid,\n parseDate,\n formatDate,\n parserFormat: toRef(() => currentFormat.value.format),\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.8.4-master.2025-05-13";
19
+ export const version = "3.8.5-master.2025-05-14";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -2404,7 +2404,9 @@ declare const VSnackbar: {
2404
2404
  }>>;
2405
2405
  type VSnackbar = InstanceType<typeof VSnackbar>;
2406
2406
 
2407
- type SnackbarMessage = string | Omit<VSnackbar['$props'], 'modelValue' | 'onUpdate:modelValue' | 'activator' | 'activatorProps' | 'closeDelay' | 'openDelay' | 'openOnClick' | 'openOnFocus' | 'openOnHover' | '$children' | 'v-slots' | `v-slot:${string}` | keyof VNodeProps>;
2407
+ type SnackbarMessage = string | (Omit<VSnackbar['$props'], 'modelValue' | 'onUpdate:modelValue' | 'activator' | 'activatorProps' | 'closeDelay' | 'openDelay' | 'openOnClick' | 'openOnFocus' | 'openOnHover' | 'style' | '$children' | 'v-slots' | `v-slot:${string}` | keyof VNodeProps> & {
2408
+ style?: any;
2409
+ });
2408
2410
 
2409
2411
  interface VuetifyOptions {
2410
2412
  aliases?: Record<string, any>;
@@ -2537,41 +2539,42 @@ declare module 'vue' {
2537
2539
  $children?: VNodeChild
2538
2540
  }
2539
2541
  export interface GlobalComponents {
2540
- VApp: typeof import('vuetify/components')['VApp']
2542
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2541
2543
  VAppBar: typeof import('vuetify/components')['VAppBar']
2542
2544
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2543
2545
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2546
+ VApp: typeof import('vuetify/components')['VApp']
2547
+ VAlert: typeof import('vuetify/components')['VAlert']
2548
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2549
+ VBadge: typeof import('vuetify/components')['VBadge']
2544
2550
  VAvatar: typeof import('vuetify/components')['VAvatar']
2545
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2546
2551
  VBanner: typeof import('vuetify/components')['VBanner']
2547
2552
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2548
2553
  VBannerText: typeof import('vuetify/components')['VBannerText']
2549
- VAlert: typeof import('vuetify/components')['VAlert']
2550
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2551
- VBadge: typeof import('vuetify/components')['VBadge']
2554
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2552
2555
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2553
2556
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2554
2557
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2555
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2556
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2557
- VBtn: typeof import('vuetify/components')['VBtn']
2558
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2558
2559
  VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2559
- VCarousel: typeof import('vuetify/components')['VCarousel']
2560
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2561
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2562
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2563
2560
  VCard: typeof import('vuetify/components')['VCard']
2564
2561
  VCardActions: typeof import('vuetify/components')['VCardActions']
2565
2562
  VCardItem: typeof import('vuetify/components')['VCardItem']
2566
2563
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2567
2564
  VCardText: typeof import('vuetify/components')['VCardText']
2568
2565
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2566
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2567
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2568
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2569
2569
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
2570
+ VBtn: typeof import('vuetify/components')['VBtn']
2571
+ VChip: typeof import('vuetify/components')['VChip']
2572
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2573
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2570
2574
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
2571
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2575
+ VCode: typeof import('vuetify/components')['VCode']
2572
2576
  VCombobox: typeof import('vuetify/components')['VCombobox']
2573
2577
  VCounter: typeof import('vuetify/components')['VCounter']
2574
- VChip: typeof import('vuetify/components')['VChip']
2575
2578
  VDataTable: typeof import('vuetify/components')['VDataTable']
2576
2579
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2577
2580
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2579,13 +2582,6 @@ declare module 'vue' {
2579
2582
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2580
2583
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2581
2584
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2582
- VCode: typeof import('vuetify/components')['VCode']
2583
- VDialog: typeof import('vuetify/components')['VDialog']
2584
- VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2585
- VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2586
- VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2587
- VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2588
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2589
2585
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2590
2586
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2591
2587
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
@@ -2593,23 +2589,29 @@ declare module 'vue' {
2593
2589
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2594
2590
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2595
2591
  VDivider: typeof import('vuetify/components')['VDivider']
2592
+ VDialog: typeof import('vuetify/components')['VDialog']
2593
+ VFab: typeof import('vuetify/components')['VFab']
2594
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2596
2595
  VField: typeof import('vuetify/components')['VField']
2597
2596
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2598
- VFab: typeof import('vuetify/components')['VFab']
2597
+ VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2598
+ VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2599
+ VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2600
+ VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2601
+ VFooter: typeof import('vuetify/components')['VFooter']
2599
2602
  VFileInput: typeof import('vuetify/components')['VFileInput']
2603
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2600
2604
  VIcon: typeof import('vuetify/components')['VIcon']
2601
2605
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2602
2606
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2603
2607
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2604
2608
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2605
- VFooter: typeof import('vuetify/components')['VFooter']
2606
2609
  VImg: typeof import('vuetify/components')['VImg']
2607
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2610
+ VKbd: typeof import('vuetify/components')['VKbd']
2608
2611
  VInput: typeof import('vuetify/components')['VInput']
2612
+ VLabel: typeof import('vuetify/components')['VLabel']
2609
2613
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2610
2614
  VItem: typeof import('vuetify/components')['VItem']
2611
- VLabel: typeof import('vuetify/components')['VLabel']
2612
- VKbd: typeof import('vuetify/components')['VKbd']
2613
2615
  VList: typeof import('vuetify/components')['VList']
2614
2616
  VListGroup: typeof import('vuetify/components')['VListGroup']
2615
2617
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2620,70 +2622,72 @@ declare module 'vue' {
2620
2622
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2621
2623
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2622
2624
  VMain: typeof import('vuetify/components')['VMain']
2625
+ VMessages: typeof import('vuetify/components')['VMessages']
2623
2626
  VMenu: typeof import('vuetify/components')['VMenu']
2624
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2625
2627
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2628
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2629
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2626
2630
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2627
- VMessages: typeof import('vuetify/components')['VMessages']
2631
+ VPagination: typeof import('vuetify/components')['VPagination']
2632
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2628
2633
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2629
2634
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2630
- VOverlay: typeof import('vuetify/components')['VOverlay']
2631
2635
  VRating: typeof import('vuetify/components')['VRating']
2632
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2633
- VPagination: typeof import('vuetify/components')['VPagination']
2634
2636
  VSelect: typeof import('vuetify/components')['VSelect']
2637
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2638
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2639
+ VSlider: typeof import('vuetify/components')['VSlider']
2635
2640
  VSheet: typeof import('vuetify/components')['VSheet']
2636
2641
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2637
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2642
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2638
2643
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2639
2644
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2640
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2641
- VSlider: typeof import('vuetify/components')['VSlider']
2645
+ VStepper: typeof import('vuetify/components')['VStepper']
2646
+ VStepperActions: typeof import('vuetify/components')['VStepperActions']
2647
+ VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2648
+ VStepperItem: typeof import('vuetify/components')['VStepperItem']
2649
+ VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2650
+ VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2642
2651
  VSwitch: typeof import('vuetify/components')['VSwitch']
2643
- VTable: typeof import('vuetify/components')['VTable']
2644
- VTab: typeof import('vuetify/components')['VTab']
2645
- VTabs: typeof import('vuetify/components')['VTabs']
2646
- VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2647
- VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2648
2652
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
2649
2653
  VTextField: typeof import('vuetify/components')['VTextField']
2654
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2655
+ VTable: typeof import('vuetify/components')['VTable']
2650
2656
  VTimeline: typeof import('vuetify/components')['VTimeline']
2651
2657
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2658
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2652
2659
  VToolbar: typeof import('vuetify/components')['VToolbar']
2653
2660
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2654
2661
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2655
- VTooltip: typeof import('vuetify/components')['VTooltip']
2656
2662
  VWindow: typeof import('vuetify/components')['VWindow']
2657
2663
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2664
+ VTab: typeof import('vuetify/components')['VTab']
2665
+ VTabs: typeof import('vuetify/components')['VTabs']
2666
+ VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2667
+ VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2658
2668
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2659
2669
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2660
2670
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2661
- VStepper: typeof import('vuetify/components')['VStepper']
2662
- VStepperActions: typeof import('vuetify/components')['VStepperActions']
2663
- VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2664
- VStepperItem: typeof import('vuetify/components')['VStepperItem']
2665
- VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2666
- VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2671
+ VForm: typeof import('vuetify/components')['VForm']
2667
2672
  VHover: typeof import('vuetify/components')['VHover']
2673
+ VContainer: typeof import('vuetify/components')['VContainer']
2674
+ VCol: typeof import('vuetify/components')['VCol']
2675
+ VRow: typeof import('vuetify/components')['VRow']
2676
+ VSpacer: typeof import('vuetify/components')['VSpacer']
2668
2677
  VLazy: typeof import('vuetify/components')['VLazy']
2669
2678
  VLayout: typeof import('vuetify/components')['VLayout']
2670
2679
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2671
2680
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2672
2681
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2673
2682
  VParallax: typeof import('vuetify/components')['VParallax']
2674
- VRadio: typeof import('vuetify/components')['VRadio']
2675
2683
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2676
2684
  VResponsive: typeof import('vuetify/components')['VResponsive']
2677
- VContainer: typeof import('vuetify/components')['VContainer']
2678
- VCol: typeof import('vuetify/components')['VCol']
2679
- VRow: typeof import('vuetify/components')['VRow']
2680
- VSpacer: typeof import('vuetify/components')['VSpacer']
2681
2685
  VSparkline: typeof import('vuetify/components')['VSparkline']
2686
+ VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2682
2687
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2683
2688
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2684
2689
  VValidation: typeof import('vuetify/components')['VValidation']
2685
2690
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2686
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2687
2691
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2688
2692
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2689
2693
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2700,29 +2704,28 @@ declare module 'vue' {
2700
2704
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2701
2705
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2702
2706
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2703
- VForm: typeof import('vuetify/components')['VForm']
2704
- VTextarea: typeof import('vuetify/components')['VTextarea']
2705
- VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2706
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2707
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2708
- VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2709
- VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2710
- VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2707
+ VRadio: typeof import('vuetify/components')['VRadio']
2711
2708
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2712
2709
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2713
2710
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2714
2711
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2715
2712
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2716
2713
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2717
- VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2718
- VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2719
- VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
2720
- VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2721
- VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2722
- VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2714
+ VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2723
2715
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2724
2716
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2725
2717
  VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2718
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2719
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2720
+ VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2721
+ VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2722
+ VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2723
+ VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2724
+ VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2725
+ VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
2726
+ VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2727
+ VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2728
+ VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2726
2729
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2727
2730
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2728
2731
  }
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.8.4-master.2025-05-13";
112
+ export const version = "3.8.5-master.2025-05-14";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
@@ -46,7 +46,8 @@ const aliases = {
46
46
  treeviewCollapse: 'mdi-menu-down',
47
47
  treeviewExpand: 'mdi-menu-right',
48
48
  eyeDropper: 'mdi-eyedropper',
49
- upload: 'mdi-cloud-upload'
49
+ upload: 'mdi-cloud-upload',
50
+ color: 'mdi-palette'
50
51
  };
51
52
  const mdi = {
52
53
  // Not using mergeProps here, functional components merge props by default (?)