vuetify 3.7.15 → 3.7.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.
Files changed (124) hide show
  1. package/dist/json/attributes.json +3529 -3525
  2. package/dist/json/importMap-labs.json +12 -12
  3. package/dist/json/importMap.json +164 -164
  4. package/dist/json/tags.json +3 -2
  5. package/dist/json/web-types.json +6568 -6536
  6. package/dist/vuetify-labs.css +3153 -3152
  7. package/dist/vuetify-labs.d.ts +438 -200
  8. package/dist/vuetify-labs.esm.js +165 -141
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +164 -140
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +3426 -3425
  13. package/dist/vuetify.d.ts +387 -207
  14. package/dist/vuetify.esm.js +110 -83
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +109 -82
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +471 -470
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAppBar/index.d.mts +15 -6
  22. package/lib/components/VAutocomplete/index.d.mts +23 -8
  23. package/lib/components/VBadge/VBadge.mjs +2 -2
  24. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  25. package/lib/components/VBtn/VBtn.mjs +6 -3
  26. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  27. package/lib/components/VBtn/index.d.mts +15 -6
  28. package/lib/components/VCard/VCard.mjs +12 -3
  29. package/lib/components/VCard/VCard.mjs.map +1 -1
  30. package/lib/components/VCard/VCardItem.mjs +11 -4
  31. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  32. package/lib/components/VCard/index.d.mts +75 -30
  33. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  34. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  35. package/lib/components/VChip/VChip.mjs +6 -3
  36. package/lib/components/VChip/VChip.mjs.map +1 -1
  37. package/lib/components/VChip/index.d.mts +15 -6
  38. package/lib/components/VCombobox/index.d.mts +23 -8
  39. package/lib/components/VDataIterator/index.d.mts +2 -2
  40. package/lib/components/VDataTable/composables/headers.mjs +3 -1
  41. package/lib/components/VDataTable/composables/headers.mjs.map +1 -1
  42. package/lib/components/VDataTable/composables/paginate.mjs +2 -2
  43. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  44. package/lib/components/VDataTable/index.d.mts +34 -34
  45. package/lib/components/VDataTable/types.mjs.map +1 -1
  46. package/lib/components/VDatePicker/VDatePickerControls.mjs +5 -5
  47. package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
  48. package/lib/components/VDatePicker/VDatePickerMonth.mjs +12 -21
  49. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  50. package/lib/components/VDatePicker/index.d.mts +3 -3
  51. package/lib/components/VDialog/__test__/VDialog.spec.browser.mjs +50 -0
  52. package/lib/components/VDialog/__test__/VDialog.spec.browser.mjs.map +1 -0
  53. package/lib/components/VDialog/index.d.mts +21 -6
  54. package/lib/components/VFab/index.d.mts +15 -6
  55. package/lib/components/VField/VField.mjs +1 -6
  56. package/lib/components/VField/VField.mjs.map +1 -1
  57. package/lib/components/VFileInput/VFileInput.mjs +2 -2
  58. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  59. package/lib/components/VList/VListItem.mjs +11 -5
  60. package/lib/components/VList/VListItem.mjs.map +1 -1
  61. package/lib/components/VList/index.d.mts +32 -14
  62. package/lib/components/VMenu/index.d.mts +21 -6
  63. package/lib/components/VOverlay/VOverlay.mjs +10 -1
  64. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  65. package/lib/components/VOverlay/index.d.mts +6 -0
  66. package/lib/components/VPagination/VPagination.mjs +3 -3
  67. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  68. package/lib/components/VParallax/VParallax.mjs +1 -1
  69. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  70. package/lib/components/VRating/VRating.mjs +1 -1
  71. package/lib/components/VRating/VRating.mjs.map +1 -1
  72. package/lib/components/VSelect/index.d.mts +23 -8
  73. package/lib/components/VSlider/slider.mjs +1 -1
  74. package/lib/components/VSlider/slider.mjs.map +1 -1
  75. package/lib/components/VSnackbar/index.d.mts +21 -6
  76. package/lib/components/VSparkline/VBarline.mjs +1 -1
  77. package/lib/components/VSparkline/VBarline.mjs.map +1 -1
  78. package/lib/components/VTabs/index.d.mts +39 -24
  79. package/lib/components/VTextField/VTextField.mjs +2 -2
  80. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  81. package/lib/components/VTextarea/VTextarea.mjs +4 -4
  82. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  83. package/lib/components/VToolbar/VToolbar.css +1 -0
  84. package/lib/components/VToolbar/VToolbar.sass +1 -0
  85. package/lib/components/VTooltip/index.d.mts +21 -6
  86. package/lib/components/index.d.mts +333 -153
  87. package/lib/composables/stack.mjs +2 -2
  88. package/lib/composables/stack.mjs.map +1 -1
  89. package/lib/composables/theme.mjs +1 -1
  90. package/lib/composables/theme.mjs.map +1 -1
  91. package/lib/composables/validation.mjs +2 -2
  92. package/lib/composables/validation.mjs.map +1 -1
  93. package/lib/entry-bundler.mjs +1 -1
  94. package/lib/framework.mjs +1 -1
  95. package/lib/index.d.mts +54 -54
  96. package/lib/labs/VDateInput/VDateInput.mjs +4 -3
  97. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  98. package/lib/labs/VDateInput/index.d.mts +10 -10
  99. package/lib/labs/VFileUpload/VFileUpload.mjs +3 -2
  100. package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -1
  101. package/lib/labs/VFileUpload/index.d.mts +32 -14
  102. package/lib/labs/VNumberInput/VNumberInput.mjs +5 -5
  103. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  104. package/lib/labs/VSnackbarQueue/index.d.mts +21 -6
  105. package/lib/labs/VTimePicker/VTimePicker.mjs +30 -31
  106. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  107. package/lib/labs/VTimePicker/VTimePickerControls.mjs +14 -13
  108. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  109. package/lib/labs/VTimePicker/index.d.mts +35 -13
  110. package/lib/labs/VTimePicker/shared.mjs +2 -0
  111. package/lib/labs/VTimePicker/shared.mjs.map +1 -0
  112. package/lib/labs/VTreeview/index.d.mts +32 -14
  113. package/lib/labs/components.d.mts +128 -55
  114. package/lib/locale/adapters/vuetify.mjs +1 -1
  115. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  116. package/lib/util/animation.mjs +8 -8
  117. package/lib/util/animation.mjs.map +1 -1
  118. package/lib/util/helpers.mjs +6 -4
  119. package/lib/util/helpers.mjs.map +1 -1
  120. package/package.json +2 -2
  121. package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs +0 -39
  122. package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs.map +0 -1
  123. package/lib/labs/VTimePicker/SelectingTimes.mjs +0 -10
  124. package/lib/labs/VTimePicker/SelectingTimes.mjs.map +0 -1
@@ -136,8 +136,8 @@ type DataTableHeader<T = Record<string, any>> = {
136
136
  fixed?: boolean;
137
137
  align?: 'start' | 'end' | 'center';
138
138
  width?: number | string;
139
- minWidth?: string;
140
- maxWidth?: string;
139
+ minWidth?: number | string;
140
+ maxWidth?: number | string;
141
141
  nowrap?: boolean;
142
142
  headerProps?: Record<string, any>;
143
143
  cellProps?: HeaderCellProps;
@@ -2070,8 +2070,8 @@ declare const VDataTableVirtual: {
2070
2070
  readonly fixed?: boolean | undefined;
2071
2071
  readonly align?: ("start" | "end" | "center") | undefined;
2072
2072
  readonly width?: (number | string) | undefined;
2073
- readonly minWidth?: string | undefined;
2074
- readonly maxWidth?: string | undefined;
2073
+ readonly minWidth?: (number | string) | undefined;
2074
+ readonly maxWidth?: (number | string) | undefined;
2075
2075
  readonly nowrap?: boolean | undefined;
2076
2076
  readonly headerProps?: {
2077
2077
  readonly [x: string]: any;
@@ -2090,8 +2090,8 @@ declare const VDataTableVirtual: {
2090
2090
  readonly fixed?: boolean | undefined;
2091
2091
  readonly align?: ("start" | "end" | "center") | undefined;
2092
2092
  readonly width?: (number | string) | undefined;
2093
- readonly minWidth?: string | undefined;
2094
- readonly maxWidth?: string | undefined;
2093
+ readonly minWidth?: (number | string) | undefined;
2094
+ readonly maxWidth?: (number | string) | undefined;
2095
2095
  readonly nowrap?: boolean | undefined;
2096
2096
  readonly headerProps?: {
2097
2097
  readonly [x: string]: any;
@@ -2170,8 +2170,8 @@ declare const VDataTableVirtual: {
2170
2170
  readonly fixed?: boolean | undefined;
2171
2171
  readonly align?: ("start" | "end" | "center") | undefined;
2172
2172
  readonly width?: (number | string) | undefined;
2173
- readonly minWidth?: string | undefined;
2174
- readonly maxWidth?: string | undefined;
2173
+ readonly minWidth?: (number | string) | undefined;
2174
+ readonly maxWidth?: (number | string) | undefined;
2175
2175
  readonly nowrap?: boolean | undefined;
2176
2176
  readonly headerProps?: {
2177
2177
  readonly [x: string]: any;
@@ -2190,8 +2190,8 @@ declare const VDataTableVirtual: {
2190
2190
  readonly fixed?: boolean | undefined;
2191
2191
  readonly align?: ("start" | "end" | "center") | undefined;
2192
2192
  readonly width?: (number | string) | undefined;
2193
- readonly minWidth?: string | undefined;
2194
- readonly maxWidth?: string | undefined;
2193
+ readonly minWidth?: (number | string) | undefined;
2194
+ readonly maxWidth?: (number | string) | undefined;
2195
2195
  readonly nowrap?: boolean | undefined;
2196
2196
  readonly headerProps?: {
2197
2197
  readonly [x: string]: any;
@@ -2344,8 +2344,8 @@ declare const VDataTableVirtual: {
2344
2344
  readonly fixed?: boolean | undefined;
2345
2345
  readonly align?: ("start" | "end" | "center") | undefined;
2346
2346
  readonly width?: (number | string) | undefined;
2347
- readonly minWidth?: string | undefined;
2348
- readonly maxWidth?: string | undefined;
2347
+ readonly minWidth?: (number | string) | undefined;
2348
+ readonly maxWidth?: (number | string) | undefined;
2349
2349
  readonly nowrap?: boolean | undefined;
2350
2350
  readonly headerProps?: {
2351
2351
  readonly [x: string]: any;
@@ -2364,8 +2364,8 @@ declare const VDataTableVirtual: {
2364
2364
  readonly fixed?: boolean | undefined;
2365
2365
  readonly align?: ("start" | "end" | "center") | undefined;
2366
2366
  readonly width?: (number | string) | undefined;
2367
- readonly minWidth?: string | undefined;
2368
- readonly maxWidth?: string | undefined;
2367
+ readonly minWidth?: (number | string) | undefined;
2368
+ readonly maxWidth?: (number | string) | undefined;
2369
2369
  readonly nowrap?: boolean | undefined;
2370
2370
  readonly headerProps?: {
2371
2371
  readonly [x: string]: any;
@@ -2474,8 +2474,8 @@ declare const VDataTableVirtual: {
2474
2474
  readonly fixed?: boolean | undefined;
2475
2475
  readonly align?: ("start" | "end" | "center") | undefined;
2476
2476
  readonly width?: (number | string) | undefined;
2477
- readonly minWidth?: string | undefined;
2478
- readonly maxWidth?: string | undefined;
2477
+ readonly minWidth?: (number | string) | undefined;
2478
+ readonly maxWidth?: (number | string) | undefined;
2479
2479
  readonly nowrap?: boolean | undefined;
2480
2480
  readonly headerProps?: {
2481
2481
  readonly [x: string]: any;
@@ -2494,8 +2494,8 @@ declare const VDataTableVirtual: {
2494
2494
  readonly fixed?: boolean | undefined;
2495
2495
  readonly align?: ("start" | "end" | "center") | undefined;
2496
2496
  readonly width?: (number | string) | undefined;
2497
- readonly minWidth?: string | undefined;
2498
- readonly maxWidth?: string | undefined;
2497
+ readonly minWidth?: (number | string) | undefined;
2498
+ readonly maxWidth?: (number | string) | undefined;
2499
2499
  readonly nowrap?: boolean | undefined;
2500
2500
  readonly headerProps?: {
2501
2501
  readonly [x: string]: any;
@@ -2899,8 +2899,8 @@ declare const VDataTableServer: {
2899
2899
  readonly fixed?: boolean | undefined;
2900
2900
  readonly align?: ("start" | "end" | "center") | undefined;
2901
2901
  readonly width?: (number | string) | undefined;
2902
- readonly minWidth?: string | undefined;
2903
- readonly maxWidth?: string | undefined;
2902
+ readonly minWidth?: (number | string) | undefined;
2903
+ readonly maxWidth?: (number | string) | undefined;
2904
2904
  readonly nowrap?: boolean | undefined;
2905
2905
  readonly headerProps?: {
2906
2906
  readonly [x: string]: any;
@@ -2919,8 +2919,8 @@ declare const VDataTableServer: {
2919
2919
  readonly fixed?: boolean | undefined;
2920
2920
  readonly align?: ("start" | "end" | "center") | undefined;
2921
2921
  readonly width?: (number | string) | undefined;
2922
- readonly minWidth?: string | undefined;
2923
- readonly maxWidth?: string | undefined;
2922
+ readonly minWidth?: (number | string) | undefined;
2923
+ readonly maxWidth?: (number | string) | undefined;
2924
2924
  readonly nowrap?: boolean | undefined;
2925
2925
  readonly headerProps?: {
2926
2926
  readonly [x: string]: any;
@@ -3015,8 +3015,8 @@ declare const VDataTableServer: {
3015
3015
  readonly fixed?: boolean | undefined;
3016
3016
  readonly align?: ("start" | "end" | "center") | undefined;
3017
3017
  readonly width?: (number | string) | undefined;
3018
- readonly minWidth?: string | undefined;
3019
- readonly maxWidth?: string | undefined;
3018
+ readonly minWidth?: (number | string) | undefined;
3019
+ readonly maxWidth?: (number | string) | undefined;
3020
3020
  readonly nowrap?: boolean | undefined;
3021
3021
  readonly headerProps?: {
3022
3022
  readonly [x: string]: any;
@@ -3035,8 +3035,8 @@ declare const VDataTableServer: {
3035
3035
  readonly fixed?: boolean | undefined;
3036
3036
  readonly align?: ("start" | "end" | "center") | undefined;
3037
3037
  readonly width?: (number | string) | undefined;
3038
- readonly minWidth?: string | undefined;
3039
- readonly maxWidth?: string | undefined;
3038
+ readonly minWidth?: (number | string) | undefined;
3039
+ readonly maxWidth?: (number | string) | undefined;
3040
3040
  readonly nowrap?: boolean | undefined;
3041
3041
  readonly headerProps?: {
3042
3042
  readonly [x: string]: any;
@@ -3221,8 +3221,8 @@ declare const VDataTableServer: {
3221
3221
  readonly fixed?: boolean | undefined;
3222
3222
  readonly align?: ("start" | "end" | "center") | undefined;
3223
3223
  readonly width?: (number | string) | undefined;
3224
- readonly minWidth?: string | undefined;
3225
- readonly maxWidth?: string | undefined;
3224
+ readonly minWidth?: (number | string) | undefined;
3225
+ readonly maxWidth?: (number | string) | undefined;
3226
3226
  readonly nowrap?: boolean | undefined;
3227
3227
  readonly headerProps?: {
3228
3228
  readonly [x: string]: any;
@@ -3241,8 +3241,8 @@ declare const VDataTableServer: {
3241
3241
  readonly fixed?: boolean | undefined;
3242
3242
  readonly align?: ("start" | "end" | "center") | undefined;
3243
3243
  readonly width?: (number | string) | undefined;
3244
- readonly minWidth?: string | undefined;
3245
- readonly maxWidth?: string | undefined;
3244
+ readonly minWidth?: (number | string) | undefined;
3245
+ readonly maxWidth?: (number | string) | undefined;
3246
3246
  readonly nowrap?: boolean | undefined;
3247
3247
  readonly headerProps?: {
3248
3248
  readonly [x: string]: any;
@@ -3379,8 +3379,8 @@ declare const VDataTableServer: {
3379
3379
  readonly fixed?: boolean | undefined;
3380
3380
  readonly align?: ("start" | "end" | "center") | undefined;
3381
3381
  readonly width?: (number | string) | undefined;
3382
- readonly minWidth?: string | undefined;
3383
- readonly maxWidth?: string | undefined;
3382
+ readonly minWidth?: (number | string) | undefined;
3383
+ readonly maxWidth?: (number | string) | undefined;
3384
3384
  readonly nowrap?: boolean | undefined;
3385
3385
  readonly headerProps?: {
3386
3386
  readonly [x: string]: any;
@@ -3399,8 +3399,8 @@ declare const VDataTableServer: {
3399
3399
  readonly fixed?: boolean | undefined;
3400
3400
  readonly align?: ("start" | "end" | "center") | undefined;
3401
3401
  readonly width?: (number | string) | undefined;
3402
- readonly minWidth?: string | undefined;
3403
- readonly maxWidth?: string | undefined;
3402
+ readonly minWidth?: (number | string) | undefined;
3403
+ readonly maxWidth?: (number | string) | undefined;
3404
3404
  readonly nowrap?: boolean | undefined;
3405
3405
  readonly headerProps?: {
3406
3406
  readonly [x: string]: any;
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","names":[],"sources":["../../../src/components/VDataTable/types.ts"],"sourcesContent":["// Types\nimport type { provideExpanded } from './composables/expand'\nimport type { Group, GroupableItem, provideGroupBy } from './composables/group'\nimport type { provideSelection, SelectableItem } from './composables/select'\nimport type { FilterFunction, InternalItem } from '@/composables/filter'\nimport type { SelectItemKey } from '@/util'\n\nexport type DataTableCompareFunction<T = any> = (a: T, b: T) => number | null\n\nexport type DataTableHeader<T = Record<string, any>> = {\n key?: 'data-table-group' | 'data-table-select' | 'data-table-expand' | (string & {})\n value?: SelectItemKey<T>\n title?: string\n\n fixed?: boolean\n align?: 'start' | 'end' | 'center'\n\n width?: number | string\n minWidth?: string\n maxWidth?: string\n nowrap?: boolean\n\n headerProps?: Record<string, any>\n cellProps?: HeaderCellProps\n\n sortable?: boolean\n sort?: DataTableCompareFunction\n sortRaw?: DataTableCompareFunction\n filter?: FilterFunction\n\n children?: DataTableHeader<T>[]\n}\n\nexport type InternalDataTableHeader = Omit<DataTableHeader, 'key' | 'value' | 'children'> & {\n key: string | null\n value: SelectItemKey | null\n sortable: boolean\n fixedOffset?: number\n lastFixed?: boolean\n nowrap?: boolean\n colspan?: number\n rowspan?: number\n children?: InternalDataTableHeader[]\n}\n\nexport interface DataTableItem<T = any> extends InternalItem<T>, GroupableItem<T>, SelectableItem {\n key: any\n index: number\n columns: {\n [key: string]: any\n }\n}\n\nexport type GroupHeaderSlot = {\n index: number\n item: Group\n columns: InternalDataTableHeader[]\n isExpanded: ReturnType<typeof provideExpanded>['isExpanded']\n toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']\n isSelected: ReturnType<typeof provideSelection>['isSelected']\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']\n toggleGroup: ReturnType<typeof provideGroupBy>['toggleGroup']\n isGroupOpen: ReturnType<typeof provideGroupBy>['isGroupOpen']\n}\n\ntype ItemSlotBase<T> = {\n index: number\n item: T\n internalItem: DataTableItem<T>\n isExpanded: ReturnType<typeof provideExpanded>['isExpanded']\n toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']\n isSelected: ReturnType<typeof provideSelection>['isSelected']\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']\n}\n\nexport type ItemSlot<T> = ItemSlotBase<T> & {\n columns: InternalDataTableHeader[]\n}\n\nexport type ItemKeySlot<T> = ItemSlotBase<T> & {\n value: any\n column: InternalDataTableHeader\n}\n\nexport type RowProps<T> =\n | Record<string, any>\n | ((data: Pick<ItemKeySlot<T>, 'index' | 'item' | 'internalItem'>) => Record<string, any>)\n\nexport type CellProps<T> =\n | Record<string, any>\n | ((data: Pick<ItemKeySlot<T>, 'index' | 'item' | 'internalItem' | 'value' | 'column'>) => Record<string, any>)\n\nexport type HeaderCellProps =\n | Record<string, any>\n | ((data: Pick<ItemKeySlot<any>, 'index' | 'item' | 'internalItem' | 'value'>) => Record<string, any>)\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.mjs","names":[],"sources":["../../../src/components/VDataTable/types.ts"],"sourcesContent":["// Types\nimport type { provideExpanded } from './composables/expand'\nimport type { Group, GroupableItem, provideGroupBy } from './composables/group'\nimport type { provideSelection, SelectableItem } from './composables/select'\nimport type { FilterFunction, InternalItem } from '@/composables/filter'\nimport type { SelectItemKey } from '@/util'\n\nexport type DataTableCompareFunction<T = any> = (a: T, b: T) => number | null\n\nexport type DataTableHeader<T = Record<string, any>> = {\n key?: 'data-table-group' | 'data-table-select' | 'data-table-expand' | (string & {})\n value?: SelectItemKey<T>\n title?: string\n\n fixed?: boolean\n align?: 'start' | 'end' | 'center'\n\n width?: number | string\n minWidth?: number | string\n maxWidth?: number | string\n nowrap?: boolean\n\n headerProps?: Record<string, any>\n cellProps?: HeaderCellProps\n\n sortable?: boolean\n sort?: DataTableCompareFunction\n sortRaw?: DataTableCompareFunction\n filter?: FilterFunction\n\n children?: DataTableHeader<T>[]\n}\n\nexport type InternalDataTableHeader = Omit<DataTableHeader, 'key' | 'value' | 'children'> & {\n key: string | null\n value: SelectItemKey | null\n sortable: boolean\n fixedOffset?: number\n lastFixed?: boolean\n nowrap?: boolean\n colspan?: number\n rowspan?: number\n children?: InternalDataTableHeader[]\n}\n\nexport interface DataTableItem<T = any> extends InternalItem<T>, GroupableItem<T>, SelectableItem {\n key: any\n index: number\n columns: {\n [key: string]: any\n }\n}\n\nexport type GroupHeaderSlot = {\n index: number\n item: Group\n columns: InternalDataTableHeader[]\n isExpanded: ReturnType<typeof provideExpanded>['isExpanded']\n toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']\n isSelected: ReturnType<typeof provideSelection>['isSelected']\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']\n toggleGroup: ReturnType<typeof provideGroupBy>['toggleGroup']\n isGroupOpen: ReturnType<typeof provideGroupBy>['isGroupOpen']\n}\n\ntype ItemSlotBase<T> = {\n index: number\n item: T\n internalItem: DataTableItem<T>\n isExpanded: ReturnType<typeof provideExpanded>['isExpanded']\n toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']\n isSelected: ReturnType<typeof provideSelection>['isSelected']\n toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']\n}\n\nexport type ItemSlot<T> = ItemSlotBase<T> & {\n columns: InternalDataTableHeader[]\n}\n\nexport type ItemKeySlot<T> = ItemSlotBase<T> & {\n value: any\n column: InternalDataTableHeader\n}\n\nexport type RowProps<T> =\n | Record<string, any>\n | ((data: Pick<ItemKeySlot<T>, 'index' | 'item' | 'internalItem'>) => Record<string, any>)\n\nexport type CellProps<T> =\n | Record<string, any>\n | ((data: Pick<ItemKeySlot<T>, 'index' | 'item' | 'internalItem' | 'value' | 'column'>) => Record<string, any>)\n\nexport type HeaderCellProps =\n | Record<string, any>\n | ((data: Pick<ItemKeySlot<any>, 'index' | 'item' | 'internalItem' | 'value'>) => Record<string, any>)\n"],"mappings":"","ignoreList":[]}
@@ -79,30 +79,30 @@ export const VDatePickerControls = genericComponent()({
79
79
  "class": ['v-date-picker-controls']
80
80
  }, [_createVNode(VBtn, {
81
81
  "class": "v-date-picker-controls__month-btn",
82
+ "data-testid": "month-btn",
82
83
  "disabled": disableMonth.value,
83
84
  "text": props.text,
84
85
  "variant": "text",
85
86
  "rounded": true,
86
87
  "onClick": onClickMonth
87
88
  }, null), _createVNode(VBtn, {
88
- "key": "mode-btn",
89
89
  "class": "v-date-picker-controls__mode-btn",
90
+ "data-testid": "year-btn",
90
91
  "disabled": disableYear.value,
91
92
  "density": "comfortable",
92
93
  "icon": props.modeIcon,
93
94
  "variant": "text",
94
95
  "onClick": onClickYear
95
- }, null), _createVNode(VSpacer, {
96
- "key": "mode-spacer"
97
- }, null), _createVNode("div", {
98
- "key": "month-buttons",
96
+ }, null), _createVNode(VSpacer, null, null), _createVNode("div", {
99
97
  "class": "v-date-picker-controls__month"
100
98
  }, [_createVNode(VBtn, {
99
+ "data-testid": "prev-month",
101
100
  "disabled": disablePrev.value,
102
101
  "icon": props.prevIcon,
103
102
  "variant": "text",
104
103
  "onClick": onClickPrev
105
104
  }, null), _createVNode(VBtn, {
105
+ "data-testid": "next-month",
106
106
  "disabled": disableNext.value,
107
107
  "icon": props.nextIcon,
108
108
  "variant": "text",
@@ -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[] | 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":[]}
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 data-testid=\"month-btn\"\n disabled={ disableMonth.value }\n text={ props.text }\n variant=\"text\"\n rounded\n onClick={ onClickMonth }\n ></VBtn>\n\n <VBtn\n class=\"v-date-picker-controls__mode-btn\"\n data-testid=\"year-btn\"\n disabled={ disableYear.value }\n density=\"comfortable\"\n icon={ props.modeIcon }\n variant=\"text\"\n onClick={ onClickYear }\n />\n\n <VSpacer />\n\n <div class=\"v-date-picker-controls__month\">\n <VBtn\n data-testid=\"prev-month\"\n disabled={ disablePrev.value }\n icon={ props.prevIcon }\n variant=\"text\"\n onClick={ onClickPrev }\n />\n\n <VBtn\n data-testid=\"next-month\"\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":[]}
@@ -3,13 +3,12 @@ import { createTextVNode as _createTextVNode, createVNode as _createVNode } from
3
3
  import "./VDatePickerMonth.css";
4
4
 
5
5
  // Components
6
- import { VBtn } from "../VBtn/index.mjs";
7
- import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs"; // Composables
6
+ import { VBtn } from "../VBtn/index.mjs"; // Composables
8
7
  import { makeCalendarProps, useCalendar } from "../../composables/calendar.mjs";
9
8
  import { useDate } from "../../composables/date/date.mjs";
10
9
  import { MaybeTransition } from "../../composables/transition.mjs"; // Utilities
11
10
  import { computed, ref, shallowRef, watch } from 'vue';
12
- import { genericComponent, omit, propsFactory } from "../../util/index.mjs"; // Types
11
+ import { genericComponent, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
13
12
  export const makeVDatePickerMonthProps = propsFactory({
14
13
  color: String,
15
14
  hideWeekdays: Boolean,
@@ -120,7 +119,7 @@ export const VDatePickerMonth = genericComponent()({
120
119
  model.value = [value];
121
120
  }
122
121
  }
123
- return () => _createVNode("div", {
122
+ useRender(() => _createVNode("div", {
124
123
  "class": "v-date-picker-month"
125
124
  }, [props.showWeek && _createVNode("div", {
126
125
  "key": "weeks",
@@ -142,6 +141,13 @@ export const VDatePickerMonth = genericComponent()({
142
141
  }, [weekDay])), daysInMonth.value.map((item, i) => {
143
142
  const slotProps = {
144
143
  props: {
144
+ class: 'v-date-picker-month__day-btn',
145
+ color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
146
+ disabled: item.isDisabled,
147
+ icon: true,
148
+ ripple: false,
149
+ text: item.localized,
150
+ variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
145
151
  onClick: () => onClick(item.date)
146
152
  },
147
153
  item,
@@ -159,24 +165,9 @@ export const VDatePickerMonth = genericComponent()({
159
165
  'v-date-picker-month__day--week-start': item.isWeekStart
160
166
  }],
161
167
  "data-v-date": !item.isDisabled ? item.isoDate : undefined
162
- }, [(props.showAdjacentMonths || !item.isAdjacent) && _createVNode(VDefaultsProvider, {
163
- "defaults": {
164
- VBtn: {
165
- class: 'v-date-picker-month__day-btn',
166
- color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
167
- disabled: item.isDisabled,
168
- icon: true,
169
- ripple: false,
170
- text: item.localized,
171
- variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
172
- onClick: () => onClick(item.date)
173
- }
174
- }
175
- }, {
176
- default: () => [slots.day?.(slotProps) ?? _createVNode(VBtn, slotProps.props, null)]
177
- })]);
168
+ }, [(props.showAdjacentMonths || !item.isAdjacent) && (slots.day?.(slotProps) ?? _createVNode(VBtn, slotProps.props, null))]);
178
169
  })])]
179
- })]);
170
+ })]));
180
171
  }
181
172
  });
182
173
  //# sourceMappingURL=VDatePickerMonth.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VDatePickerMonth.mjs","names":["VBtn","VDefaultsProvider","makeCalendarProps","useCalendar","useDate","MaybeTransition","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","undefined","isSameDay","endOfDay","diff","getDiff","datesInRange","i","nextDate","addDays","push","onMultipleClick","index","findIndex","selection","splice","onClick","_createVNode","_createTextVNode","map","week","toString","getWeekdays","firstDayOfWeek","weekDay","item","slotProps","isSelected","isDisabled","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","class","isToday","disabled","icon","ripple","text","localized","variant","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...omit(makeCalendarProps(), ['displayValue']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = computed(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (model.value.length === 0) {\n rangeStart.value = undefined\n } else if (model.value.length === 1) {\n rangeStart.value = model.value[0]\n rangeStop.value = undefined\n }\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days')\n const datesInRange = [rangeStart.value]\n\n for (let i = 1; i < diff; i++) {\n const nextDate = adapter.addDays(rangeStart.value, i)\n datesInRange.push(nextDate)\n }\n\n datesInRange.push(rangeStop.value)\n\n model.value = datesInRange\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n return () => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\">&nbsp;</div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date?.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n class: 'v-date-picker-month__day-btn',\n color: (item.isSelected || item.isToday) && !item.isDisabled\n ? props.color\n : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isDisabled\n ? item.isToday ? 'outlined' : 'text'\n : item.isToday && !item.isSelected ? 'outlined' : 'flat',\n onClick: () => onClick(item.date),\n },\n }}\n >\n { slots.day?.(slotProps) ?? (\n <VBtn { ...slotProps.props } />\n )}\n </VDefaultsProvider>\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n )\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDatePickerMonth.mjs","names":["VBtn","makeCalendarProps","useCalendar","useDate","MaybeTransition","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","undefined","isSameDay","endOfDay","diff","getDiff","datesInRange","i","nextDate","addDays","push","onMultipleClick","index","findIndex","selection","splice","onClick","_createVNode","_createTextVNode","map","week","toString","getWeekdays","firstDayOfWeek","weekDay","item","slotProps","class","isSelected","isToday","isDisabled","disabled","icon","ripple","text","localized","variant","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...omit(makeCalendarProps(), ['displayValue']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = computed(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (model.value.length === 0) {\n rangeStart.value = undefined\n } else if (model.value.length === 1) {\n rangeStart.value = model.value[0]\n rangeStop.value = undefined\n }\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days')\n const datesInRange = [rangeStart.value]\n\n for (let i = 1; i < diff; i++) {\n const nextDate = adapter.addDays(rangeStart.value, i)\n datesInRange.push(nextDate)\n }\n\n datesInRange.push(rangeStop.value)\n\n model.value = datesInRange\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n useRender(() => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\">&nbsp;</div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date?.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n class: 'v-date-picker-month__day-btn',\n color: (item.isSelected || item.isToday) && !item.isDisabled\n ? props.color\n : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isDisabled\n ? item.isToday ? 'outlined' : 'text'\n : item.isToday && !item.isSelected ? 'outlined' : 'flat',\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n slots.day?.(slotProps) ?? (<VBtn { ...slotProps.props } />)\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n ))\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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","ignoreList":[]}
@@ -976,7 +976,7 @@ declare const VDatePickerMonth: {
976
976
  "onUpdate:modelValue"?: ((date: unknown) => any) | undefined;
977
977
  "onUpdate:month"?: ((date: number) => any) | undefined;
978
978
  "onUpdate:year"?: ((date: number) => any) | undefined;
979
- }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
979
+ }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
980
980
  'update:modelValue': (date: unknown) => true;
981
981
  'update:month': (date: number) => true;
982
982
  'update:year': (date: number) => true;
@@ -1104,7 +1104,7 @@ declare const VDatePickerMonth: {
1104
1104
  "onUpdate:modelValue"?: ((date: unknown) => any) | undefined;
1105
1105
  "onUpdate:month"?: ((date: number) => any) | undefined;
1106
1106
  "onUpdate:year"?: ((date: number) => any) | undefined;
1107
- }, () => JSX.Element, {}, {}, {}, {
1107
+ }, {}, {}, {}, {}, {
1108
1108
  transition: string;
1109
1109
  disabled: boolean;
1110
1110
  reverseTransition: string;
@@ -1167,7 +1167,7 @@ declare const VDatePickerMonth: {
1167
1167
  "onUpdate:modelValue"?: ((date: unknown) => any) | undefined;
1168
1168
  "onUpdate:month"?: ((date: number) => any) | undefined;
1169
1169
  "onUpdate:year"?: ((date: number) => any) | undefined;
1170
- }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1170
+ }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1171
1171
  'update:modelValue': (date: unknown) => true;
1172
1172
  'update:month': (date: number) => true;
1173
1173
  'update:year': (date: number) => true;
@@ -0,0 +1,50 @@
1
+ import { createTextVNode as _createTextVNode, createVNode as _createVNode } from "vue";
2
+ // Components
3
+ import { VDialog } from "../VDialog.mjs"; // Utilities
4
+ import { render, screen, userEvent } from '@test';
5
+ import { nextTick, ref } from 'vue';
6
+
7
+ // Tests
8
+ describe('VDialog', () => {
9
+ it('should render correctly', async () => {
10
+ const model = ref(false);
11
+ const {
12
+ element
13
+ } = render(() => _createVNode("div", null, [_createVNode(VDialog, {
14
+ "modelValue": model.value,
15
+ "onUpdate:modelValue": $event => model.value = $event,
16
+ "data-testid": "dialog"
17
+ }, {
18
+ default: () => [_createVNode("div", {
19
+ "data-testid": "content"
20
+ }, [_createTextVNode("Content")])]
21
+ })]));
22
+ expect(screen.queryByTestId('dialog')).toBeNull();
23
+ model.value = true;
24
+ await nextTick();
25
+ await expect(screen.findByTestId('dialog')).resolves.toBeVisible();
26
+ await expect.element(await screen.findByTestId('content')).toBeVisible();
27
+ await userEvent.click(element);
28
+ await expect.poll(() => model.value).toBeFalsy();
29
+ await expect.poll(() => screen.queryByTestId('dialog')).toBeNull();
30
+ await expect.poll(() => screen.queryByTestId('content')).toBeNull();
31
+ });
32
+ it('should emit afterLeave', async () => {
33
+ const model = ref(true);
34
+ const onAfterLeave = vi.fn();
35
+ const {
36
+ element
37
+ } = render(() => _createVNode("div", null, [_createVNode(VDialog, {
38
+ "modelValue": model.value,
39
+ "onUpdate:modelValue": $event => model.value = $event,
40
+ "onAfterLeave": onAfterLeave
41
+ }, {
42
+ default: () => [_createVNode("div", {
43
+ "data-test": "content"
44
+ }, [_createTextVNode("Content")])]
45
+ })]));
46
+ await userEvent.click(element);
47
+ await expect.poll(() => onAfterLeave).toHaveBeenCalledTimes(1);
48
+ });
49
+ });
50
+ //# sourceMappingURL=VDialog.spec.browser.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VDialog.spec.browser.mjs","names":["VDialog","render","screen","userEvent","nextTick","ref","describe","it","model","element","_createVNode","value","$event","default","_createTextVNode","expect","queryByTestId","toBeNull","findByTestId","resolves","toBeVisible","click","poll","toBeFalsy","onAfterLeave","vi","fn","toHaveBeenCalledTimes"],"sources":["../../../../src/components/VDialog/__test__/VDialog.spec.browser.tsx"],"sourcesContent":["// Components\nimport { VDialog } from '../VDialog'\n\n// Utilities\nimport { render, screen, userEvent } from '@test'\nimport { nextTick, ref } from 'vue'\n\n// Tests\ndescribe('VDialog', () => {\n it('should render correctly', async () => {\n const model = ref(false)\n const { element } = render(() => (\n <div>\n <VDialog v-model={ model.value } data-testid=\"dialog\">\n <div data-testid=\"content\">Content</div>\n </VDialog>\n </div>\n ))\n\n expect(screen.queryByTestId('dialog')).toBeNull()\n\n model.value = true\n await nextTick()\n await expect(screen.findByTestId('dialog')).resolves.toBeVisible()\n await expect.element(await screen.findByTestId('content')).toBeVisible()\n\n await userEvent.click(element)\n await expect.poll(() => model.value).toBeFalsy()\n await expect.poll(() => screen.queryByTestId('dialog')).toBeNull()\n await expect.poll(() => screen.queryByTestId('content')).toBeNull()\n })\n\n it('should emit afterLeave', async () => {\n const model = ref(true)\n const onAfterLeave = vi.fn()\n const { element } = render(() => (\n <div>\n <VDialog v-model={ model.value } onAfterLeave={ onAfterLeave }>\n <div data-test=\"content\">Content</div>\n </VDialog>\n </div>\n ))\n\n await userEvent.click(element)\n await expect.poll(() => onAfterLeave).toHaveBeenCalledTimes(1)\n })\n})\n"],"mappings":";AAAA;AAAA,SACSA,OAAO,0BAEhB;AACA,SAASC,MAAM,EAAEC,MAAM,EAAEC,SAAS,QAAQ,OAAO;AACjD,SAASC,QAAQ,EAAEC,GAAG,QAAQ,KAAK;;AAEnC;AACAC,QAAQ,CAAC,SAAS,EAAE,MAAM;EACxBC,EAAE,CAAC,yBAAyB,EAAE,YAAY;IACxC,MAAMC,KAAK,GAAGH,GAAG,CAAC,KAAK,CAAC;IACxB,MAAM;MAAEI;IAAQ,CAAC,GAAGR,MAAM,CAAC,MAAAS,YAAA,eAAAA,YAAA,CAAAV,OAAA;MAAA,cAEJQ,KAAK,CAACG,KAAK;MAAA,uBAAAC,MAAA,IAAXJ,KAAK,CAACG,KAAK,GAAAC,MAAA;MAAA;IAAA;MAAAC,OAAA,EAAAA,CAAA,MAAAH,YAAA;QAAA;MAAA,IAAAI,gBAAA;IAAA,IAIjC,CAAC;IAEFC,MAAM,CAACb,MAAM,CAACc,aAAa,CAAC,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;IAEjDT,KAAK,CAACG,KAAK,GAAG,IAAI;IAClB,MAAMP,QAAQ,CAAC,CAAC;IAChB,MAAMW,MAAM,CAACb,MAAM,CAACgB,YAAY,CAAC,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAACC,WAAW,CAAC,CAAC;IAClE,MAAML,MAAM,CAACN,OAAO,CAAC,MAAMP,MAAM,CAACgB,YAAY,CAAC,SAAS,CAAC,CAAC,CAACE,WAAW,CAAC,CAAC;IAExE,MAAMjB,SAAS,CAACkB,KAAK,CAACZ,OAAO,CAAC;IAC9B,MAAMM,MAAM,CAACO,IAAI,CAAC,MAAMd,KAAK,CAACG,KAAK,CAAC,CAACY,SAAS,CAAC,CAAC;IAChD,MAAMR,MAAM,CAACO,IAAI,CAAC,MAAMpB,MAAM,CAACc,aAAa,CAAC,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;IAClE,MAAMF,MAAM,CAACO,IAAI,CAAC,MAAMpB,MAAM,CAACc,aAAa,CAAC,SAAS,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACrE,CAAC,CAAC;EAEFV,EAAE,CAAC,wBAAwB,EAAE,YAAY;IACvC,MAAMC,KAAK,GAAGH,GAAG,CAAC,IAAI,CAAC;IACvB,MAAMmB,YAAY,GAAGC,EAAE,CAACC,EAAE,CAAC,CAAC;IAC5B,MAAM;MAAEjB;IAAQ,CAAC,GAAGR,MAAM,CAAC,MAAAS,YAAA,eAAAA,YAAA,CAAAV,OAAA;MAAA,cAEJQ,KAAK,CAACG,KAAK;MAAA,uBAAAC,MAAA,IAAXJ,KAAK,CAACG,KAAK,GAAAC,MAAA;MAAA,gBAAkBY;IAAY;MAAAX,OAAA,EAAAA,CAAA,MAAAH,YAAA;QAAA;MAAA,IAAAI,gBAAA;IAAA,IAI/D,CAAC;IAEF,MAAMX,SAAS,CAACkB,KAAK,CAACZ,OAAO,CAAC;IAC9B,MAAMM,MAAM,CAACO,IAAI,CAAC,MAAME,YAAY,CAAC,CAACG,qBAAqB,CAAC,CAAC,CAAC;EAChE,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}