vuetify 3.7.18 → 3.7.19

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 (40) hide show
  1. package/dist/json/attributes.json +2834 -2822
  2. package/dist/json/importMap-labs.json +26 -26
  3. package/dist/json/importMap.json +138 -138
  4. package/dist/json/tags.json +3 -0
  5. package/dist/json/web-types.json +5323 -5273
  6. package/dist/vuetify-labs.css +3725 -3725
  7. package/dist/vuetify-labs.d.ts +74 -32
  8. package/dist/vuetify-labs.esm.js +98 -27
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +98 -27
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +3391 -3391
  13. package/dist/vuetify.d.ts +86 -83
  14. package/dist/vuetify.esm.js +25 -10
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +25 -10
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +10 -10
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VDataTable/VDataTableRow.mjs +18 -3
  22. package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
  23. package/lib/components/VDataTable/index.d.mts +91 -88
  24. package/lib/components/VDatePicker/VDatePicker.mjs +1 -1
  25. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  26. package/lib/components/VIcon/VIcon.mjs +2 -2
  27. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  28. package/lib/components/index.d.mts +35 -32
  29. package/lib/composables/calendar.mjs +1 -1
  30. package/lib/composables/calendar.mjs.map +1 -1
  31. package/lib/entry-bundler.mjs +1 -1
  32. package/lib/framework.mjs +1 -1
  33. package/lib/index.d.mts +51 -51
  34. package/lib/labs/VDateInput/VDateInput.mjs +75 -18
  35. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  36. package/lib/labs/VDateInput/index.d.mts +43 -0
  37. package/lib/labs/components.d.mts +43 -4
  38. package/lib/util/helpers.mjs +1 -1
  39. package/lib/util/helpers.mjs.map +1 -1
  40. package/package.json +2 -2
@@ -24460,20 +24460,12 @@ declare const VDataTableHeaders: {
24460
24460
  }>>;
24461
24461
  type VDataTableHeaders = InstanceType<typeof VDataTableHeaders>;
24462
24462
 
24463
- type VDataTableGroupHeaderRowSlots = {
24464
- 'data-table-group': {
24465
- item: Group;
24466
- count: number;
24467
- props: Record<string, unknown>;
24468
- };
24469
- 'data-table-select': {
24470
- props: Record<string, unknown>;
24471
- };
24463
+ type VDataTableItemCellColumnSlotProps<T> = Omit<ItemKeySlot<T>, 'value'> & {
24464
+ props: Record<string, unknown>;
24472
24465
  };
24473
-
24474
24466
  type VDataTableRowSlots<T> = {
24475
- 'item.data-table-select': Omit<ItemKeySlot<T>, 'value'>;
24476
- 'item.data-table-expand': Omit<ItemKeySlot<T>, 'value'>;
24467
+ 'item.data-table-select': VDataTableItemCellColumnSlotProps<T>;
24468
+ 'item.data-table-expand': VDataTableItemCellColumnSlotProps<T>;
24477
24469
  'header.data-table-select': VDataTableHeaderCellColumnSlotProps;
24478
24470
  'header.data-table-expand': VDataTableHeaderCellColumnSlotProps;
24479
24471
  } & {
@@ -24502,8 +24494,8 @@ declare const VDataTableRow: {
24502
24494
  }, true, {}, vue.SlotsType<Partial<{
24503
24495
  [x: `item.${string}`]: (arg: ItemKeySlot<unknown>) => vue.VNode[];
24504
24496
  [x: `header.${string}`]: (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24505
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24506
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24497
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24498
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24507
24499
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24508
24500
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24509
24501
  }>>, {
@@ -24540,8 +24532,8 @@ declare const VDataTableRow: {
24540
24532
  }, {}, string, vue.SlotsType<Partial<{
24541
24533
  [x: `item.${string}`]: (arg: ItemKeySlot<unknown>) => vue.VNode[];
24542
24534
  [x: `header.${string}`]: (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24543
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24544
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24535
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24536
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24545
24537
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24546
24538
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24547
24539
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new <T>(props: {
@@ -24574,6 +24566,17 @@ declare const VDataTableRow: {
24574
24566
  }>>;
24575
24567
  type VDataTableRow = InstanceType<typeof VDataTableRow>;
24576
24568
 
24569
+ type VDataTableGroupHeaderRowSlots = {
24570
+ 'data-table-group': {
24571
+ item: Group;
24572
+ count: number;
24573
+ props: Record<string, unknown>;
24574
+ };
24575
+ 'data-table-select': {
24576
+ props: Record<string, unknown>;
24577
+ };
24578
+ };
24579
+
24577
24580
  type VDataTableRowsSlots<T> = VDataTableGroupHeaderRowSlots & VDataTableRowSlots<T> & {
24578
24581
  item: ItemSlot$1<T> & {
24579
24582
  props: Record<string, any>;
@@ -24620,8 +24623,8 @@ declare const VDataTableRows: {
24620
24623
  'data-table-select': (arg: {
24621
24624
  props: Record<string, unknown>;
24622
24625
  }) => vue.VNode[];
24623
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24624
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24626
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24627
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24625
24628
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24626
24629
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24627
24630
  item: (arg: {
@@ -24693,8 +24696,8 @@ declare const VDataTableRows: {
24693
24696
  'data-table-select': (arg: {
24694
24697
  props: Record<string, unknown>;
24695
24698
  }) => vue.VNode[];
24696
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24697
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
24699
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24700
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
24698
24701
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24699
24702
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
24700
24703
  item: (arg: {
@@ -25009,8 +25012,8 @@ declare const VDataTable: {
25009
25012
  'data-table-select': (arg: {
25010
25013
  props: Record<string, unknown>;
25011
25014
  }) => vue.VNode[];
25012
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
25013
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
25015
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
25016
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
25014
25017
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
25015
25018
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
25016
25019
  item: (arg: {
@@ -25310,8 +25313,8 @@ declare const VDataTable: {
25310
25313
  'data-table-select': (arg: {
25311
25314
  props: Record<string, unknown>;
25312
25315
  }) => vue.VNode[];
25313
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
25314
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
25316
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
25317
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
25315
25318
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
25316
25319
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
25317
25320
  item: (arg: {
@@ -26212,8 +26215,8 @@ declare const VDataTableVirtual: {
26212
26215
  'data-table-select': (arg: {
26213
26216
  props: Record<string, unknown>;
26214
26217
  }) => vue.VNode[];
26215
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
26216
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
26218
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
26219
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
26217
26220
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
26218
26221
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
26219
26222
  item: (arg: {
@@ -26522,8 +26525,8 @@ declare const VDataTableVirtual: {
26522
26525
  'data-table-select': (arg: {
26523
26526
  props: Record<string, unknown>;
26524
26527
  }) => vue.VNode[];
26525
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
26526
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
26528
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
26529
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
26527
26530
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
26528
26531
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
26529
26532
  item: (arg: {
@@ -27070,8 +27073,8 @@ declare const VDataTableServer: {
27070
27073
  'data-table-select': (arg: {
27071
27074
  props: Record<string, unknown>;
27072
27075
  }) => vue.VNode[];
27073
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
27074
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
27076
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
27077
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
27075
27078
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
27076
27079
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
27077
27080
  item: (arg: {
@@ -27442,8 +27445,8 @@ declare const VDataTableServer: {
27442
27445
  'data-table-select': (arg: {
27443
27446
  props: Record<string, unknown>;
27444
27447
  }) => vue.VNode[];
27445
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
27446
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
27448
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
27449
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
27447
27450
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
27448
27451
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
27449
27452
  item: (arg: {
@@ -68759,6 +68762,7 @@ declare const VDateInput: {
68759
68762
  style: vue.StyleValue;
68760
68763
  title: string;
68761
68764
  autofocus: boolean;
68765
+ mobile: boolean | null;
68762
68766
  disabled: boolean;
68763
68767
  readonly: boolean | null;
68764
68768
  tag: string;
@@ -68821,6 +68825,7 @@ declare const VDateInput: {
68821
68825
  theme?: string | undefined;
68822
68826
  elevation?: string | number | undefined;
68823
68827
  counter?: string | number | boolean | undefined;
68828
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
68824
68829
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
68825
68830
  modelValue?: any;
68826
68831
  validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
@@ -68844,6 +68849,7 @@ declare const VDateInput: {
68844
68849
  modelModifiers?: Record<string, boolean> | undefined;
68845
68850
  firstDayOfWeek?: string | number | undefined;
68846
68851
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
68852
+ displayFormat?: string | Function | undefined;
68847
68853
  } & {
68848
68854
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
68849
68855
  message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
@@ -68902,8 +68908,12 @@ declare const VDateInput: {
68902
68908
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
68903
68909
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
68904
68910
  } & {
68911
+ onCancel?: (() => any) | undefined;
68905
68912
  "onUpdate:modelValue"?: ((val: string) => any) | undefined;
68913
+ onSave?: ((value: string) => any) | undefined;
68906
68914
  }, any, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
68915
+ save: (value: string) => true;
68916
+ cancel: () => true;
68907
68917
  'update:modelValue': (val: string) => true;
68908
68918
  }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
68909
68919
  flat: boolean;
@@ -68919,6 +68929,7 @@ declare const VDateInput: {
68919
68929
  style: vue.StyleValue;
68920
68930
  title: string;
68921
68931
  autofocus: boolean;
68932
+ mobile: boolean | null;
68922
68933
  disabled: boolean;
68923
68934
  readonly: boolean | null;
68924
68935
  tag: string;
@@ -68981,6 +68992,7 @@ declare const VDateInput: {
68981
68992
  theme?: string | undefined;
68982
68993
  elevation?: string | number | undefined;
68983
68994
  counter?: string | number | boolean | undefined;
68995
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
68984
68996
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
68985
68997
  modelValue?: any;
68986
68998
  validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
@@ -69004,6 +69016,7 @@ declare const VDateInput: {
69004
69016
  modelModifiers?: Record<string, boolean> | undefined;
69005
69017
  firstDayOfWeek?: string | number | undefined;
69006
69018
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
69019
+ displayFormat?: string | Function | undefined;
69007
69020
  } & {
69008
69021
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
69009
69022
  message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
@@ -69062,7 +69075,9 @@ declare const VDateInput: {
69062
69075
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
69063
69076
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
69064
69077
  } & {
69078
+ onCancel?: (() => any) | undefined;
69065
69079
  "onUpdate:modelValue"?: ((val: string) => any) | undefined;
69080
+ onSave?: ((value: string) => any) | undefined;
69066
69081
  }, {
69067
69082
  flat: boolean;
69068
69083
  reverse: boolean;
@@ -69077,6 +69092,7 @@ declare const VDateInput: {
69077
69092
  style: vue.StyleValue;
69078
69093
  title: string;
69079
69094
  autofocus: boolean;
69095
+ mobile: boolean | null;
69080
69096
  disabled: boolean;
69081
69097
  readonly: boolean | null;
69082
69098
  tag: string;
@@ -69154,6 +69170,7 @@ declare const VDateInput: {
69154
69170
  style: vue.StyleValue;
69155
69171
  title: string;
69156
69172
  autofocus: boolean;
69173
+ mobile: boolean | null;
69157
69174
  disabled: boolean;
69158
69175
  readonly: boolean | null;
69159
69176
  tag: string;
@@ -69216,6 +69233,7 @@ declare const VDateInput: {
69216
69233
  theme?: string | undefined;
69217
69234
  elevation?: string | number | undefined;
69218
69235
  counter?: string | number | boolean | undefined;
69236
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
69219
69237
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
69220
69238
  modelValue?: any;
69221
69239
  validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
@@ -69239,6 +69257,7 @@ declare const VDateInput: {
69239
69257
  modelModifiers?: Record<string, boolean> | undefined;
69240
69258
  firstDayOfWeek?: string | number | undefined;
69241
69259
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
69260
+ displayFormat?: string | Function | undefined;
69242
69261
  } & {
69243
69262
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
69244
69263
  message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
@@ -69297,7 +69316,9 @@ declare const VDateInput: {
69297
69316
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
69298
69317
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
69299
69318
  } & {
69319
+ onCancel?: (() => any) | undefined;
69300
69320
  "onUpdate:modelValue"?: ((val: string) => any) | undefined;
69321
+ onSave?: ((value: string) => any) | undefined;
69301
69322
  }, any, {}, {}, {}, {
69302
69323
  flat: boolean;
69303
69324
  reverse: boolean;
@@ -69312,6 +69333,7 @@ declare const VDateInput: {
69312
69333
  style: vue.StyleValue;
69313
69334
  title: string;
69314
69335
  autofocus: boolean;
69336
+ mobile: boolean | null;
69315
69337
  disabled: boolean;
69316
69338
  readonly: boolean | null;
69317
69339
  tag: string;
@@ -69368,6 +69390,7 @@ declare const VDateInput: {
69368
69390
  style: vue.StyleValue;
69369
69391
  title: string;
69370
69392
  autofocus: boolean;
69393
+ mobile: boolean | null;
69371
69394
  disabled: boolean;
69372
69395
  readonly: boolean | null;
69373
69396
  tag: string;
@@ -69430,6 +69453,7 @@ declare const VDateInput: {
69430
69453
  theme?: string | undefined;
69431
69454
  elevation?: string | number | undefined;
69432
69455
  counter?: string | number | boolean | undefined;
69456
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
69433
69457
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
69434
69458
  modelValue?: any;
69435
69459
  validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
@@ -69453,6 +69477,7 @@ declare const VDateInput: {
69453
69477
  modelModifiers?: Record<string, boolean> | undefined;
69454
69478
  firstDayOfWeek?: string | number | undefined;
69455
69479
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
69480
+ displayFormat?: string | Function | undefined;
69456
69481
  } & {
69457
69482
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
69458
69483
  message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
@@ -69511,8 +69536,12 @@ declare const VDateInput: {
69511
69536
  "v-slot:actions"?: false | ((arg: VDateInputActionsSlot) => vue.VNodeChild) | undefined;
69512
69537
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
69513
69538
  } & {
69539
+ onCancel?: (() => any) | undefined;
69514
69540
  "onUpdate:modelValue"?: ((val: string) => any) | undefined;
69541
+ onSave?: ((value: string) => any) | undefined;
69515
69542
  }, any, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
69543
+ save: (value: string) => true;
69544
+ cancel: () => true;
69516
69545
  'update:modelValue': (val: string) => true;
69517
69546
  }, string, {
69518
69547
  flat: boolean;
@@ -69528,6 +69557,7 @@ declare const VDateInput: {
69528
69557
  style: vue.StyleValue;
69529
69558
  title: string;
69530
69559
  autofocus: boolean;
69560
+ mobile: boolean | null;
69531
69561
  disabled: boolean;
69532
69562
  readonly: boolean | null;
69533
69563
  tag: string;
@@ -69800,6 +69830,12 @@ declare const VDateInput: {
69800
69830
  type: StringConstructor;
69801
69831
  default: string;
69802
69832
  };
69833
+ mobile: {
69834
+ type: PropType<boolean | null>;
69835
+ default: boolean;
69836
+ };
69837
+ mobileBreakpoint: PropType<number | DisplayBreakpoint>;
69838
+ displayFormat: (FunctionConstructor | StringConstructor)[];
69803
69839
  hideActions: BooleanConstructor;
69804
69840
  location: {
69805
69841
  type: PropType<StrategyProps["location"]>;
@@ -70021,6 +70057,12 @@ declare const VDateInput: {
70021
70057
  type: StringConstructor;
70022
70058
  default: string;
70023
70059
  };
70060
+ mobile: {
70061
+ type: PropType<boolean | null>;
70062
+ default: boolean;
70063
+ };
70064
+ mobileBreakpoint: PropType<number | DisplayBreakpoint>;
70065
+ displayFormat: (FunctionConstructor | StringConstructor)[];
70024
70066
  hideActions: BooleanConstructor;
70025
70067
  location: {
70026
70068
  type: PropType<StrategyProps["location"]>;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.18
2
+ * Vuetify v3.7.19
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -229,7 +229,7 @@ function has(obj, key) {
229
229
  function pick(obj, paths) {
230
230
  const found = {};
231
231
  for (const key of paths) {
232
- if (Object.hasOwn(obj, key)) {
232
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
233
233
  found[key] = obj[key];
234
234
  }
235
235
  }
@@ -4670,7 +4670,7 @@ const VIcon = genericComponent()({
4670
4670
  const slotIcon = ref();
4671
4671
  const {
4672
4672
  themeClasses
4673
- } = provideTheme(props);
4673
+ } = useTheme();
4674
4674
  const {
4675
4675
  iconData
4676
4676
  } = useIcon(computed(() => slotIcon.value || props.icon));
@@ -20343,22 +20343,37 @@ const VDataTableRow = genericComponent()({
20343
20343
  "width": !mobile.value ? column.width : undefined
20344
20344
  }, cellProps, columnCellProps), {
20345
20345
  default: () => {
20346
- if (slots[slotName] && !mobile.value) return slots[slotName]?.(slotProps);
20347
20346
  if (column.key === 'data-table-select') {
20348
- return slots['item.data-table-select']?.(slotProps) ?? createVNode(VCheckboxBtn, {
20347
+ return slots['item.data-table-select']?.({
20348
+ ...slotProps,
20349
+ props: {
20350
+ disabled: !item.selectable,
20351
+ modelValue: isSelected([item]),
20352
+ onClick: withModifiers(() => toggleSelect(item), ['stop'])
20353
+ }
20354
+ }) ?? createVNode(VCheckboxBtn, {
20349
20355
  "disabled": !item.selectable,
20350
20356
  "modelValue": isSelected([item]),
20351
20357
  "onClick": withModifiers(() => toggleSelect(item), ['stop'])
20352
20358
  }, null);
20353
20359
  }
20354
20360
  if (column.key === 'data-table-expand') {
20355
- return slots['item.data-table-expand']?.(slotProps) ?? createVNode(VBtn, {
20361
+ return slots['item.data-table-expand']?.({
20362
+ ...slotProps,
20363
+ props: {
20364
+ icon: isExpanded(item) ? '$collapse' : '$expand',
20365
+ size: 'small',
20366
+ variant: 'text',
20367
+ onClick: withModifiers(() => toggleExpand(item), ['stop'])
20368
+ }
20369
+ }) ?? createVNode(VBtn, {
20356
20370
  "icon": isExpanded(item) ? '$collapse' : '$expand',
20357
20371
  "size": "small",
20358
20372
  "variant": "text",
20359
20373
  "onClick": withModifiers(() => toggleExpand(item), ['stop'])
20360
20374
  }, null);
20361
20375
  }
20376
+ if (slots[slotName] && !mobile.value) return slots[slotName](slotProps);
20362
20377
  const displayValue = toDisplayString(slotProps.value);
20363
20378
  return !mobile.value ? displayValue : createVNode(Fragment, null, [createVNode("div", {
20364
20379
  "class": "v-data-table__td-title"
@@ -21687,7 +21702,7 @@ const makeCalendarProps = propsFactory({
21687
21702
  }, 'calendar');
21688
21703
  function useCalendar(props) {
21689
21704
  const adapter = useDate();
21690
- const model = useProxiedModel(props, 'modelValue', [], v => wrapInArray(v));
21705
+ const model = useProxiedModel(props, 'modelValue', [], v => wrapInArray(v).map(i => adapter.date(i)));
21691
21706
  const displayValue = computed(() => {
21692
21707
  if (props.displayValue) return adapter.date(props.displayValue);
21693
21708
  if (model.value.length > 0) return adapter.date(model.value[0]);
@@ -22268,7 +22283,7 @@ const VDatePicker = genericComponent()({
22268
22283
  const {
22269
22284
  t
22270
22285
  } = useLocale();
22271
- const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v), v => props.multiple ? v : v[0]);
22286
+ const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v).map(i => adapter.date(i)), v => props.multiple ? v : v[0]);
22272
22287
  const viewMode = useProxiedModel(props, 'viewMode');
22273
22288
  // const inputMode = useProxiedModel(props, 'inputMode')
22274
22289
 
@@ -28237,11 +28252,13 @@ const VCalendar = genericComponent()({
28237
28252
  // Types
28238
28253
 
28239
28254
  const makeVDateInputProps = propsFactory({
28255
+ displayFormat: [Function, String],
28240
28256
  hideActions: Boolean,
28241
28257
  location: {
28242
28258
  type: String,
28243
28259
  default: 'bottom start'
28244
28260
  },
28261
+ ...makeDisplayProps(),
28245
28262
  ...makeFocusProps(),
28246
28263
  ...makeVConfirmEditProps(),
28247
28264
  ...makeVTextFieldProps({
@@ -28257,16 +28274,22 @@ const VDateInput = genericComponent()({
28257
28274
  name: 'VDateInput',
28258
28275
  props: makeVDateInputProps(),
28259
28276
  emits: {
28277
+ save: value => true,
28278
+ cancel: () => true,
28260
28279
  'update:modelValue': val => true
28261
28280
  },
28262
28281
  setup(props, _ref) {
28263
28282
  let {
28283
+ emit,
28264
28284
  slots
28265
28285
  } = _ref;
28266
28286
  const {
28267
28287
  t
28268
28288
  } = useLocale();
28269
28289
  const adapter = useDate();
28290
+ const {
28291
+ mobile
28292
+ } = useDisplay();
28270
28293
  const {
28271
28294
  isFocused,
28272
28295
  focus,
@@ -28274,7 +28297,14 @@ const VDateInput = genericComponent()({
28274
28297
  } = useFocus(props);
28275
28298
  const model = useProxiedModel(props, 'modelValue', props.multiple ? [] : null, val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val, val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val);
28276
28299
  const menu = shallowRef(false);
28300
+ const isEditingInput = shallowRef(false);
28277
28301
  const vDateInputRef = ref();
28302
+ function format(date) {
28303
+ if (typeof props.displayFormat === 'function') {
28304
+ return props.displayFormat(date);
28305
+ }
28306
+ return adapter.format(date, props.displayFormat ?? 'keyboardDate');
28307
+ }
28278
28308
  const display = computed(() => {
28279
28309
  const value = wrapInArray(model.value);
28280
28310
  if (!value.length) return null;
@@ -28284,11 +28314,22 @@ const VDateInput = genericComponent()({
28284
28314
  if (props.multiple === 'range') {
28285
28315
  const start = value[0];
28286
28316
  const end = value[value.length - 1];
28287
- return adapter.isValid(start) && adapter.isValid(end) ? `${adapter.format(adapter.date(start), 'keyboardDate')} - ${adapter.format(adapter.date(end), 'keyboardDate')}` : '';
28317
+ if (!adapter.isValid(start) || !adapter.isValid(end)) return '';
28318
+ return `${format(adapter.date(start))} - ${format(adapter.date(end))}`;
28288
28319
  }
28289
- return adapter.isValid(model.value) ? adapter.format(adapter.date(model.value), 'keyboardDate') : '';
28320
+ return adapter.isValid(model.value) ? format(adapter.date(model.value)) : '';
28321
+ });
28322
+ const inputmode = computed(() => {
28323
+ if (!mobile.value) return undefined;
28324
+ if (isEditingInput.value) return 'text';
28325
+ return 'none';
28290
28326
  });
28291
28327
  const isInteractive = computed(() => !props.disabled && !props.readonly);
28328
+ const isReadonly = computed(() => !(mobile.value && isEditingInput.value) && props.readonly);
28329
+ watch(menu, val => {
28330
+ if (val) return;
28331
+ isEditingInput.value = false;
28332
+ });
28292
28333
  function onKeydown(e) {
28293
28334
  if (e.key !== 'Enter') return;
28294
28335
  if (!menu.value || !isFocused.value) {
@@ -28301,15 +28342,38 @@ const VDateInput = genericComponent()({
28301
28342
  function onClick(e) {
28302
28343
  e.preventDefault();
28303
28344
  e.stopPropagation();
28304
- menu.value = true;
28345
+ if (menu.value && mobile.value) {
28346
+ isEditingInput.value = true;
28347
+ } else {
28348
+ menu.value = true;
28349
+ }
28305
28350
  }
28306
- function onSave() {
28351
+ function onCancel() {
28352
+ emit('cancel');
28307
28353
  menu.value = false;
28354
+ isEditingInput.value = false;
28308
28355
  }
28309
- function onUpdateModel(value) {
28356
+ function onSave(value) {
28357
+ emit('save', value);
28358
+ menu.value = false;
28359
+ }
28360
+ function onUpdateDisplayModel(value) {
28310
28361
  if (value != null) return;
28311
28362
  model.value = null;
28312
28363
  }
28364
+ function onUpdateMenuModel(isMenuOpen) {
28365
+ if (isMenuOpen) return;
28366
+ isEditingInput.value = false;
28367
+ }
28368
+ function onBlur() {
28369
+ blur();
28370
+
28371
+ // When in mobile mode and editing is done (due to keyboard dismissal), close the menu
28372
+ if (mobile.value && isEditingInput.value && !isFocused.value) {
28373
+ menu.value = false;
28374
+ isEditingInput.value = false;
28375
+ }
28376
+ }
28313
28377
  useRender(() => {
28314
28378
  const confirmEditProps = VConfirmEdit.filterProps(props);
28315
28379
  const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']));
@@ -28320,18 +28384,20 @@ const VDateInput = genericComponent()({
28320
28384
  "class": props.class,
28321
28385
  "style": props.style,
28322
28386
  "modelValue": display.value,
28387
+ "inputmode": inputmode.value,
28388
+ "readonly": isReadonly.value,
28323
28389
  "onKeydown": isInteractive.value ? onKeydown : undefined,
28324
28390
  "focused": menu.value || isFocused.value,
28325
28391
  "onFocus": focus,
28326
- "onBlur": blur,
28392
+ "onBlur": onBlur,
28327
28393
  "onClick:control": isInteractive.value ? onClick : undefined,
28328
28394
  "onClick:prepend": isInteractive.value ? onClick : undefined,
28329
- "onUpdate:modelValue": onUpdateModel
28395
+ "onUpdate:modelValue": onUpdateDisplayModel
28330
28396
  }), {
28331
28397
  ...slots,
28332
28398
  default: () => createVNode(Fragment, null, [createVNode(VMenu, {
28333
28399
  "modelValue": menu.value,
28334
- "onUpdate:modelValue": $event => menu.value = $event,
28400
+ "onUpdate:modelValue": [$event => menu.value = $event, onUpdateMenuModel],
28335
28401
  "activator": "parent",
28336
28402
  "min-width": "0",
28337
28403
  "eager": isFocused.value,
@@ -28343,7 +28409,7 @@ const VDateInput = genericComponent()({
28343
28409
  "modelValue": model.value,
28344
28410
  "onUpdate:modelValue": $event => model.value = $event,
28345
28411
  "onSave": onSave,
28346
- "onCancel": () => menu.value = false
28412
+ "onCancel": onCancel
28347
28413
  }), {
28348
28414
  default: _ref2 => {
28349
28415
  let {
@@ -28353,16 +28419,21 @@ const VDateInput = genericComponent()({
28353
28419
  cancel,
28354
28420
  isPristine
28355
28421
  } = _ref2;
28422
+ function onUpdateModel(value) {
28423
+ if (!props.hideActions) {
28424
+ proxyModel.value = value;
28425
+ } else {
28426
+ model.value = value;
28427
+ if (!props.multiple) {
28428
+ menu.value = false;
28429
+ }
28430
+ }
28431
+ emit('save', value);
28432
+ vDateInputRef.value?.blur();
28433
+ }
28356
28434
  return createVNode(VDatePicker, mergeProps(datePickerProps, {
28357
28435
  "modelValue": props.hideActions ? model.value : proxyModel.value,
28358
- "onUpdate:modelValue": val => {
28359
- if (!props.hideActions) {
28360
- proxyModel.value = val;
28361
- } else {
28362
- model.value = val;
28363
- if (!props.multiple) menu.value = false;
28364
- }
28365
- },
28436
+ "onUpdate:modelValue": value => onUpdateModel(value),
28366
28437
  "onMousedown": e => e.preventDefault()
28367
28438
  }), {
28368
28439
  actions: !props.hideActions ? () => slots.actions?.({
@@ -31080,7 +31151,7 @@ function createVuetify$1() {
31080
31151
  goTo
31081
31152
  };
31082
31153
  }
31083
- const version$1 = "3.7.18";
31154
+ const version$1 = "3.7.19";
31084
31155
  createVuetify$1.version = version$1;
31085
31156
 
31086
31157
  // Vue's inject() can only be used in setup
@@ -31333,7 +31404,7 @@ var index = /*#__PURE__*/Object.freeze({
31333
31404
 
31334
31405
  /* eslint-disable local-rules/sort-imports */
31335
31406
 
31336
- const version = "3.7.18";
31407
+ const version = "3.7.19";
31337
31408
 
31338
31409
  /* eslint-disable local-rules/sort-imports */
31339
31410