@vuetify/nightly 3.9.0-master.2025-07-09 → 3.9.0-next.2025-07-09

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 (209) hide show
  1. package/CHANGELOG.md +20 -9
  2. package/dist/json/attributes.json +3539 -3539
  3. package/dist/json/importMap-labs.json +14 -14
  4. package/dist/json/importMap.json +130 -130
  5. package/dist/json/web-types.json +6434 -6398
  6. package/dist/vuetify-labs.cjs +55 -36
  7. package/dist/vuetify-labs.css +26440 -28193
  8. package/dist/vuetify-labs.d.ts +197 -590
  9. package/dist/vuetify-labs.esm.js +55 -36
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +55 -36
  12. package/dist/vuetify-labs.min.css +3 -4
  13. package/dist/vuetify.cjs +47 -28
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +22837 -24587
  16. package/dist/vuetify.d.ts +197 -590
  17. package/dist/vuetify.esm.js +47 -28
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +47 -28
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +3 -4
  22. package/dist/vuetify.min.js +18 -18
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VAlert/VAlert.css +211 -220
  25. package/lib/components/VApp/VApp.css +16 -15
  26. package/lib/components/VAppBar/VAppBar.css +14 -12
  27. package/lib/components/VAutocomplete/VAutocomplete.css +85 -84
  28. package/lib/components/VAutocomplete/VAutocomplete.d.ts +18 -9
  29. package/lib/components/VAutocomplete/VAutocomplete.js +6 -3
  30. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  31. package/lib/components/VAvatar/VAvatar.css +108 -106
  32. package/lib/components/VBadge/VBadge.css +77 -77
  33. package/lib/components/VBanner/VBanner.css +161 -166
  34. package/lib/components/VBottomNavigation/VBottomNavigation.css +65 -64
  35. package/lib/components/VBottomSheet/VBottomSheet.css +34 -31
  36. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +54 -57
  37. package/lib/components/VBtn/VBtn.css +400 -436
  38. package/lib/components/VBtn/VBtn.sass +10 -23
  39. package/lib/components/VBtn/_variables.scss +1 -1
  40. package/lib/components/VBtnGroup/VBtnGroup.css +87 -88
  41. package/lib/components/VBtnToggle/VBtnToggle.css +16 -14
  42. package/lib/components/VCard/VCard.css +294 -302
  43. package/lib/components/VCarousel/VCarousel.css +62 -64
  44. package/lib/components/VCarousel/VCarousel.sass +1 -1
  45. package/lib/components/VCheckbox/VCheckbox.css +7 -5
  46. package/lib/components/VChip/VChip.css +378 -411
  47. package/lib/components/VChipGroup/VChipGroup.css +19 -18
  48. package/lib/components/VCode/VCode.css +13 -11
  49. package/lib/components/VColorPicker/VColorPicker.css +23 -23
  50. package/lib/components/VColorPicker/VColorPickerCanvas.css +24 -22
  51. package/lib/components/VColorPicker/VColorPickerEdit.css +29 -28
  52. package/lib/components/VColorPicker/VColorPickerPreview.css +69 -67
  53. package/lib/components/VColorPicker/VColorPickerPreview.sass +4 -2
  54. package/lib/components/VColorPicker/VColorPickerSwatches.css +34 -34
  55. package/lib/components/VCombobox/VCombobox.css +85 -84
  56. package/lib/components/VCombobox/VCombobox.d.ts +18 -9
  57. package/lib/components/VCombobox/VCombobox.js +6 -3
  58. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  59. package/lib/components/VCounter/VCounter.css +7 -5
  60. package/lib/components/VDataTable/VDataTable.css +202 -200
  61. package/lib/components/VDataTable/VDataTable.sass +20 -10
  62. package/lib/components/VDataTable/VDataTableFooter.css +33 -31
  63. package/lib/components/VDataTable/VDataTableFooter.js +7 -7
  64. package/lib/components/VDataTable/VDataTableFooter.js.map +1 -1
  65. package/lib/components/VDatePicker/VDatePicker.css +8 -6
  66. package/lib/components/VDatePicker/VDatePickerControls.css +56 -58
  67. package/lib/components/VDatePicker/VDatePickerHeader.css +56 -60
  68. package/lib/components/VDatePicker/VDatePickerMonth.css +46 -50
  69. package/lib/components/VDatePicker/VDatePickerMonths.css +20 -19
  70. package/lib/components/VDatePicker/VDatePickerYears.css +16 -15
  71. package/lib/components/VDialog/VDialog.css +98 -98
  72. package/lib/components/VDivider/VDivider.css +52 -52
  73. package/lib/components/VEmptyState/VEmptyState.css +62 -67
  74. package/lib/components/VExpansionPanel/VExpansionPanel.css +203 -209
  75. package/lib/components/VExpansionPanel/VExpansionPanel.sass +27 -25
  76. package/lib/components/VFab/VFab.css +78 -73
  77. package/lib/components/VFab/VFab.sass +5 -4
  78. package/lib/components/VField/VField.css +541 -589
  79. package/lib/components/VField/VField.sass +4 -11
  80. package/lib/components/VField/_variables.scss +1 -1
  81. package/lib/components/VFileInput/VFileInput.css +34 -32
  82. package/lib/components/VFileInput/VFileInput.js +1 -1
  83. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  84. package/lib/components/VFooter/VFooter.css +38 -36
  85. package/lib/components/VForm/VForm.d.ts +111 -531
  86. package/lib/components/VForm/VForm.js +11 -1
  87. package/lib/components/VForm/VForm.js.map +1 -1
  88. package/lib/components/VGrid/VGrid.css +565 -592
  89. package/lib/components/VIcon/VIcon.css +52 -53
  90. package/lib/components/VImg/VImg.css +50 -51
  91. package/lib/components/VInfiniteScroll/VInfiniteScroll.css +36 -37
  92. package/lib/components/VInput/VInput.css +136 -147
  93. package/lib/components/VItemGroup/VItemGroup.css +7 -5
  94. package/lib/components/VKbd/VKbd.css +33 -31
  95. package/lib/components/VLabel/VLabel.css +16 -15
  96. package/lib/components/VLayout/VLayout.css +10 -8
  97. package/lib/components/VLayout/VLayoutItem.css +8 -7
  98. package/lib/components/VList/VList.css +104 -108
  99. package/lib/components/VList/VList.sass +1 -1
  100. package/lib/components/VList/VListItem.css +442 -454
  101. package/lib/components/VList/VListItem.sass +2 -1
  102. package/lib/components/VLocaleProvider/VLocaleProvider.css +4 -2
  103. package/lib/components/VMain/VMain.css +32 -30
  104. package/lib/components/VMenu/VMenu.css +21 -19
  105. package/lib/components/VMessages/VMessages.css +17 -15
  106. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +102 -104
  107. package/lib/components/VNumberInput/VNumberInput.css +59 -57
  108. package/lib/components/VOtpInput/VOtpInput.css +56 -58
  109. package/lib/components/VOtpInput/VOtpInput.js +2 -2
  110. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  111. package/lib/components/VOverlay/VOverlay.css +61 -64
  112. package/lib/components/VOverlay/VOverlay.sass +14 -13
  113. package/lib/components/VPagination/VPagination.css +10 -8
  114. package/lib/components/VParallax/VParallax.css +8 -6
  115. package/lib/components/VProgressCircular/VProgressCircular.css +95 -101
  116. package/lib/components/VProgressLinear/VProgressLinear.css +209 -222
  117. package/lib/components/VRadioGroup/VRadioGroup.css +14 -12
  118. package/lib/components/VRating/VRating.css +52 -53
  119. package/lib/components/VResponsive/VResponsive.css +25 -26
  120. package/lib/components/VSelect/VSelect.css +59 -57
  121. package/lib/components/VSelect/VSelect.d.ts +18 -9
  122. package/lib/components/VSelect/VSelect.js +6 -3
  123. package/lib/components/VSelect/VSelect.js.map +1 -1
  124. package/lib/components/VSelectionControl/VSelectionControl.css +98 -100
  125. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +10 -8
  126. package/lib/components/VSheet/VSheet.css +38 -36
  127. package/lib/components/VSkeletonLoader/VSkeletonLoader.css +225 -224
  128. package/lib/components/VSlideGroup/VSlideGroup.css +53 -55
  129. package/lib/components/VSlider/VSlider.css +53 -57
  130. package/lib/components/VSlider/VSliderThumb.css +142 -153
  131. package/lib/components/VSlider/VSliderTrack.css +155 -174
  132. package/lib/components/VSnackbar/VSnackbar.css +140 -140
  133. package/lib/components/VSnackbar/VSnackbar.js +1 -1
  134. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  135. package/lib/components/VSpeedDial/VSpeedDial.css +43 -41
  136. package/lib/components/VStepper/VStepper.css +55 -56
  137. package/lib/components/VStepper/VStepperItem.css +112 -115
  138. package/lib/components/VSwitch/VSwitch.css +129 -139
  139. package/lib/components/VSystemBar/VSystemBar.css +45 -43
  140. package/lib/components/VTable/VTable.css +142 -143
  141. package/lib/components/VTable/VTable.sass +4 -2
  142. package/lib/components/VTabs/VTab.css +30 -29
  143. package/lib/components/VTabs/VTabs.css +59 -65
  144. package/lib/components/VTextField/VTextField.css +77 -85
  145. package/lib/components/VTextarea/VTextarea.css +48 -40
  146. package/lib/components/VTextarea/VTextarea.sass +4 -2
  147. package/lib/components/VThemeProvider/VThemeProvider.css +5 -3
  148. package/lib/components/VTimePicker/VTimePicker.css +4 -2
  149. package/lib/components/VTimePicker/VTimePickerClock.css +127 -130
  150. package/lib/components/VTimePicker/VTimePickerControls.css +103 -104
  151. package/lib/components/VTimeline/VTimeline.css +388 -427
  152. package/lib/components/VToolbar/VToolbar.css +137 -144
  153. package/lib/components/VTooltip/VTooltip.css +27 -23
  154. package/lib/components/VTooltip/VTooltip.sass +8 -6
  155. package/lib/components/VTreeview/VTreeview.js +1 -1
  156. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  157. package/lib/components/VTreeview/VTreeviewItem.css +83 -85
  158. package/lib/components/VVirtualScroll/VVirtualScroll.css +11 -9
  159. package/lib/components/VWindow/VWindow.css +88 -85
  160. package/lib/composables/theme.js +3 -3
  161. package/lib/composables/theme.js.map +1 -1
  162. package/lib/directives/ripple/VRipple.css +38 -36
  163. package/lib/entry-bundler.js +1 -1
  164. package/lib/entry-bundler.js.map +1 -1
  165. package/lib/framework.d.ts +45 -45
  166. package/lib/framework.js +1 -1
  167. package/lib/framework.js.map +1 -1
  168. package/lib/labs/VCalendar/VCalendar.css +219 -225
  169. package/lib/labs/VCalendar/VCalendarDay.css +40 -41
  170. package/lib/labs/VCalendar/VCalendarHeader.css +13 -13
  171. package/lib/labs/VCalendar/VCalendarInterval.css +43 -42
  172. package/lib/labs/VCalendar/VCalendarIntervalEvent.css +7 -5
  173. package/lib/labs/VCalendar/VCalendarMonthDay.css +61 -58
  174. package/lib/labs/VCalendar/VCalendarMonthDay.sass +3 -2
  175. package/lib/labs/VColorInput/VColorInput.css +5 -3
  176. package/lib/labs/VColorInput/VColorInput.js +1 -1
  177. package/lib/labs/VColorInput/VColorInput.js.map +1 -1
  178. package/lib/labs/VDateInput/VDateInput.js +1 -1
  179. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  180. package/lib/labs/VFileUpload/VFileUpload.css +74 -77
  181. package/lib/labs/VFileUpload/VFileUpload.js +1 -1
  182. package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
  183. package/lib/labs/VHotkey/VHotkey.css +242 -241
  184. package/lib/labs/VIconBtn/VIconBtn.css +162 -164
  185. package/lib/labs/VPicker/VPicker.css +62 -67
  186. package/lib/labs/VStepperVertical/VStepperVertical.js +4 -4
  187. package/lib/labs/VStepperVertical/VStepperVertical.js.map +1 -1
  188. package/lib/labs/VStepperVertical/VStepperVerticalItem.js +1 -1
  189. package/lib/labs/VStepperVertical/VStepperVerticalItem.js.map +1 -1
  190. package/lib/styles/elements/_global.sass +1 -1
  191. package/lib/styles/generic/_colors.scss +3 -3
  192. package/lib/styles/generic/_layers.scss +13 -1
  193. package/lib/styles/generic/_reset.scss +0 -1
  194. package/lib/styles/generic/_transitions.scss +32 -32
  195. package/lib/styles/main.css +14677 -16153
  196. package/lib/styles/settings/_utilities.scss +0 -5
  197. package/lib/styles/settings/_variables.scss +2 -3
  198. package/lib/styles/tools/_border.sass +4 -4
  199. package/lib/styles/tools/_display.sass +0 -10
  200. package/lib/styles/tools/_elevation.sass +2 -2
  201. package/lib/styles/tools/_index.sass +0 -2
  202. package/lib/styles/tools/_layer.scss +4 -2
  203. package/lib/styles/tools/_position.sass +2 -2
  204. package/lib/styles/tools/_rounded.sass +2 -2
  205. package/lib/styles/tools/_utilities.sass +1 -5
  206. package/lib/styles/utilities/_elevation.scss +1 -1
  207. package/package.json +1 -1
  208. package/lib/styles/tools/_bootable.sass +0 -3
  209. package/lib/styles/tools/_radius.sass +0 -10
@@ -1,201 +1,203 @@
1
- .v-data-table {
2
- width: 100%;
3
- }
4
-
5
- .v-data-table__table {
6
- width: 100%;
7
- border-collapse: separate;
8
- border-spacing: 0;
9
- }
10
-
11
- .v-data-table__tr--focus {
12
- border: 1px dotted black;
13
- }
14
- .v-data-table__tr--clickable {
15
- cursor: pointer;
16
- }
17
-
18
- .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-end,
19
- .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-end,
20
- .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-end,
21
- .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-end {
22
- text-align: end;
23
- }
24
- .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-end .v-data-table-header__content,
25
- .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-end .v-data-table-header__content,
26
- .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-end .v-data-table-header__content,
27
- .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-end .v-data-table-header__content {
28
- flex-direction: row-reverse;
29
- }
30
- .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-center,
31
- .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-center,
32
- .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-center,
33
- .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-center {
34
- text-align: center;
35
- }
36
- .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-center .v-data-table-header__content,
37
- .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-center .v-data-table-header__content,
38
- .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-center .v-data-table-header__content,
39
- .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-center .v-data-table-header__content {
40
- justify-content: center;
41
- }
42
- .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--no-padding,
43
- .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--no-padding,
44
- .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--no-padding,
45
- .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--no-padding {
46
- padding: 0 8px;
47
- }
48
- .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--nowrap,
49
- .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--nowrap,
50
- .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--nowrap,
51
- .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--nowrap {
52
- text-overflow: ellipsis;
53
- text-wrap: nowrap;
54
- overflow: hidden;
55
- }
56
- .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--nowrap .v-data-table-header__content,
57
- .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--nowrap .v-data-table-header__content,
58
- .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--nowrap .v-data-table-header__content,
59
- .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--nowrap .v-data-table-header__content {
60
- display: contents;
61
- }
62
- .v-data-table .v-table__wrapper > table > thead > tr > th,
63
- .v-data-table .v-table__wrapper > table tbody > tr > th {
64
- align-items: center;
65
- }
66
- .v-data-table .v-table__wrapper > table > thead > tr > th.v-data-table__th--fixed,
67
- .v-data-table .v-table__wrapper > table tbody > tr > th.v-data-table__th--fixed {
68
- position: sticky;
69
- }
70
- .v-data-table .v-table__wrapper > table > thead > tr > th.v-data-table__th--sortable:hover,
71
- .v-data-table .v-table__wrapper > table > thead > tr > th.v-data-table__th--sortable:focus,
72
- .v-data-table .v-table__wrapper > table tbody > tr > th.v-data-table__th--sortable:hover,
73
- .v-data-table .v-table__wrapper > table tbody > tr > th.v-data-table__th--sortable:focus {
74
- cursor: pointer;
75
- color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
76
- }
77
- .v-data-table .v-table__wrapper > table > thead > tr > th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon,
78
- .v-data-table .v-table__wrapper > table tbody > tr > th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon {
79
- opacity: 0;
80
- }
81
- .v-data-table .v-table__wrapper > table > thead > tr > th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon, .v-data-table .v-table__wrapper > table > thead > tr > th:not(.v-data-table__th--sorted):focus .v-data-table-header__sort-icon,
82
- .v-data-table .v-table__wrapper > table tbody > tr > th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon,
83
- .v-data-table .v-table__wrapper > table tbody > tr > th:not(.v-data-table__th--sorted):focus .v-data-table-header__sort-icon {
84
- opacity: 0.5;
85
- }
86
- .v-data-table .v-table__wrapper > table > thead > tr.v-data-table__tr--mobile > td,
87
- .v-data-table .v-table__wrapper > table tbody > tr.v-data-table__tr--mobile > td {
88
- height: fit-content;
89
- }
90
-
91
- .v-data-table-column--fixed,
92
- .v-data-table-column--fixed-end,
93
- .v-data-table__th--sticky {
94
- background: rgb(var(--v-theme-surface));
95
- position: sticky !important;
96
- left: 0;
97
- z-index: 1;
98
- }
99
-
100
- .v-data-table-column--fixed-end {
101
- left: unset;
102
- right: 0;
103
- }
104
-
105
- .v-data-table-column--last-fixed {
106
- border-right: 1px solid rgba(var(--v-border-color), var(--v-border-opacity));
107
- }
108
-
109
- .v-data-table-column--first-fixed-end {
110
- border-left: 1px solid rgba(var(--v-border-color), var(--v-border-opacity));
111
- }
112
-
113
- .v-data-table.v-table--fixed-header > .v-table__wrapper > table > thead > tr > th.v-data-table-column--fixed,
114
- .v-data-table.v-table--fixed-header > .v-table__wrapper > table > thead > tr > th.v-data-table-column--fixed-end {
115
- z-index: 2;
116
- }
117
-
118
- .v-data-table-group-header-row td {
119
- background: rgba(var(--v-theme-surface));
120
- color: rgba(var(--v-theme-on-surface));
121
- }
122
- .v-data-table-group-header-row td > span {
123
- padding-left: 5px;
124
- }
125
-
126
- .v-data-table--loading .v-data-table__td {
127
- opacity: var(--v-disabled-opacity);
128
- }
129
-
130
- .v-data-table-group-header-row__column {
131
- padding-left: calc(var(--v-data-table-group-header-row-depth) * 16px) !important;
132
- }
133
-
134
- .v-data-table-header__content {
135
- display: flex;
136
- align-items: center;
137
- }
138
-
139
- .v-data-table-header__sort-badge {
140
- display: inline-flex;
141
- justify-content: center;
142
- align-items: center;
143
- font-size: 0.875rem;
144
- padding: 4px;
145
- border-radius: 50%;
146
- background: rgba(var(--v-border-color), var(--v-border-opacity));
147
- min-width: 20px;
148
- min-height: 20px;
149
- width: 20px;
150
- height: 20px;
151
- }
152
-
153
- .v-data-table-progress > th {
154
- border: none !important;
155
- height: auto !important;
156
- padding: 0 !important;
157
- }
158
-
159
- .v-data-table-progress__loader {
160
- position: relative;
161
- }
162
-
163
- .v-data-table-rows-loading,
164
- .v-data-table-rows-no-data {
165
- text-align: center;
166
- }
167
-
168
- .v-data-table__tr--mobile > .v-data-table__td--expanded-row {
169
- grid-template-columns: auto;
170
- justify-content: center;
171
- }
172
- .v-data-table__tr--mobile > .v-data-table__td--select-row {
173
- grid-template-columns: 0;
174
- justify-content: end;
175
- }
176
- .v-data-table__tr--mobile > td {
177
- align-items: center;
178
- column-gap: 4px;
179
- display: grid;
180
- grid-template-columns: repeat(2, 1fr);
181
- min-height: var(--v-table-row-height);
182
- }
183
- .v-data-table__tr--mobile > td:not(:last-child) {
184
- border-bottom: 0 !important;
185
- }
186
-
187
- .v-data-table__td-title {
188
- font-weight: 500;
189
- text-align: start;
190
- }
191
-
192
- .v-data-table__td-value {
193
- text-align: end;
194
- }
195
-
196
- .v-data-table__td-sort-icon {
197
- color: rgba(var(--v-theme-on-surface), var(--v-disabled-opacity));
198
- }
199
- .v-data-table__td-sort-icon-active {
200
- color: rgba(var(--v-theme-on-surface));
1
+ @layer vuetify.components {
2
+ .v-data-table {
3
+ width: 100%;
4
+ }
5
+ .v-data-table__table {
6
+ width: 100%;
7
+ border-collapse: separate;
8
+ border-spacing: 0;
9
+ }
10
+ .v-data-table__tr--focus {
11
+ border: 1px dotted black;
12
+ }
13
+ .v-data-table__tr--clickable {
14
+ cursor: pointer;
15
+ }
16
+ .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-end,
17
+ .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-end,
18
+ .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-end,
19
+ .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-end {
20
+ text-align: end;
21
+ }
22
+ .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-end .v-data-table-header__content,
23
+ .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-end .v-data-table-header__content,
24
+ .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-end .v-data-table-header__content,
25
+ .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-end .v-data-table-header__content {
26
+ flex-direction: row-reverse;
27
+ }
28
+ .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-center,
29
+ .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-center,
30
+ .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-center,
31
+ .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-center {
32
+ text-align: center;
33
+ }
34
+ .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-center .v-data-table-header__content,
35
+ .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-center .v-data-table-header__content,
36
+ .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-center .v-data-table-header__content,
37
+ .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-center .v-data-table-header__content {
38
+ justify-content: center;
39
+ }
40
+ .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--no-padding,
41
+ .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--no-padding,
42
+ .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--no-padding,
43
+ .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--no-padding {
44
+ padding: 0 8px;
45
+ }
46
+ .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--nowrap,
47
+ .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--nowrap,
48
+ .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--nowrap,
49
+ .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--nowrap {
50
+ text-overflow: ellipsis;
51
+ text-wrap: nowrap;
52
+ overflow: hidden;
53
+ }
54
+ .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--nowrap .v-data-table-header__content,
55
+ .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--nowrap .v-data-table-header__content,
56
+ .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--nowrap .v-data-table-header__content,
57
+ .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--nowrap .v-data-table-header__content {
58
+ display: contents;
59
+ }
60
+ .v-data-table .v-table__wrapper > table > thead > tr > th,
61
+ .v-data-table .v-table__wrapper > table tbody > tr > th {
62
+ align-items: center;
63
+ }
64
+ .v-data-table .v-table__wrapper > table > thead > tr > th.v-data-table__th--fixed,
65
+ .v-data-table .v-table__wrapper > table tbody > tr > th.v-data-table__th--fixed {
66
+ position: sticky;
67
+ }
68
+ .v-data-table .v-table__wrapper > table > thead > tr > th.v-data-table__th--sortable:hover,
69
+ .v-data-table .v-table__wrapper > table > thead > tr > th.v-data-table__th--sortable:focus,
70
+ .v-data-table .v-table__wrapper > table tbody > tr > th.v-data-table__th--sortable:hover,
71
+ .v-data-table .v-table__wrapper > table tbody > tr > th.v-data-table__th--sortable:focus {
72
+ cursor: pointer;
73
+ color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
74
+ }
75
+ .v-data-table .v-table__wrapper > table > thead > tr > th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon,
76
+ .v-data-table .v-table__wrapper > table tbody > tr > th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon {
77
+ opacity: 0;
78
+ }
79
+ .v-data-table .v-table__wrapper > table > thead > tr > th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon, .v-data-table .v-table__wrapper > table > thead > tr > th:not(.v-data-table__th--sorted):focus .v-data-table-header__sort-icon,
80
+ .v-data-table .v-table__wrapper > table tbody > tr > th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon,
81
+ .v-data-table .v-table__wrapper > table tbody > tr > th:not(.v-data-table__th--sorted):focus .v-data-table-header__sort-icon {
82
+ opacity: 0.5;
83
+ }
84
+ .v-data-table .v-table__wrapper > table > thead > tr.v-data-table__tr--mobile > td,
85
+ .v-data-table .v-table__wrapper > table tbody > tr.v-data-table__tr--mobile > td {
86
+ height: fit-content;
87
+ }
88
+ .v-data-table-column--fixed,
89
+ .v-data-table-column--fixed-end,
90
+ .v-data-table__th--sticky {
91
+ background: rgb(var(--v-theme-surface));
92
+ left: 0;
93
+ z-index: 1;
94
+ }
95
+ }
96
+ @layer vuetify.overrides {
97
+ .v-data-table-column--fixed,
98
+ .v-data-table-column--fixed-end,
99
+ .v-data-table__th--sticky {
100
+ position: sticky;
101
+ }
102
+ }
103
+ @layer vuetify.components {
104
+ .v-data-table-column--fixed-end {
105
+ left: unset;
106
+ right: 0;
107
+ }
108
+ .v-data-table-column--last-fixed {
109
+ border-right: 1px solid rgba(var(--v-border-color), var(--v-border-opacity));
110
+ }
111
+ .v-data-table-column--first-fixed-end {
112
+ border-left: 1px solid rgba(var(--v-border-color), var(--v-border-opacity));
113
+ }
114
+ .v-data-table.v-table--fixed-header > .v-table__wrapper > table > thead > tr > th.v-data-table-column--fixed,
115
+ .v-data-table.v-table--fixed-header > .v-table__wrapper > table > thead > tr > th.v-data-table-column--fixed-end {
116
+ z-index: 2;
117
+ }
118
+ .v-data-table-group-header-row td {
119
+ background: rgba(var(--v-theme-surface));
120
+ color: rgba(var(--v-theme-on-surface));
121
+ }
122
+ .v-data-table-group-header-row td > span {
123
+ padding-left: 5px;
124
+ }
125
+ .v-data-table--loading .v-data-table__td {
126
+ opacity: var(--v-disabled-opacity);
127
+ }
128
+ }
129
+ @layer vuetify.overrides {
130
+ .v-data-table-group-header-row__column {
131
+ padding-left: calc(var(--v-data-table-group-header-row-depth) * 16px);
132
+ }
133
+ }
134
+ @layer vuetify.components {
135
+ .v-data-table-header__content {
136
+ display: flex;
137
+ align-items: center;
138
+ }
139
+ .v-data-table-header__sort-badge {
140
+ display: inline-flex;
141
+ justify-content: center;
142
+ align-items: center;
143
+ font-size: 0.875rem;
144
+ padding: 4px;
145
+ border-radius: 50%;
146
+ background: rgba(var(--v-border-color), var(--v-border-opacity));
147
+ min-width: 20px;
148
+ min-height: 20px;
149
+ width: 20px;
150
+ height: 20px;
151
+ }
152
+ }
153
+ @layer vuetify.overrides {
154
+ .v-data-table-progress > th {
155
+ border: none;
156
+ height: auto;
157
+ padding: 0;
158
+ }
159
+ }
160
+ @layer vuetify.components {
161
+ .v-data-table-progress__loader {
162
+ position: relative;
163
+ }
164
+ .v-data-table-rows-loading,
165
+ .v-data-table-rows-no-data {
166
+ text-align: center;
167
+ }
168
+ .v-data-table__tr--mobile > .v-data-table__td--expanded-row {
169
+ grid-template-columns: auto;
170
+ justify-content: center;
171
+ }
172
+ .v-data-table__tr--mobile > .v-data-table__td--select-row {
173
+ grid-template-columns: 0;
174
+ justify-content: end;
175
+ }
176
+ .v-data-table__tr--mobile > td {
177
+ align-items: center;
178
+ column-gap: 4px;
179
+ display: grid;
180
+ grid-template-columns: repeat(2, 1fr);
181
+ min-height: var(--v-table-row-height);
182
+ }
183
+ }
184
+ @layer vuetify.overrides {
185
+ .v-data-table__tr--mobile > td:not(:last-child) {
186
+ border-bottom: 0;
187
+ }
188
+ }
189
+ @layer vuetify.components {
190
+ .v-data-table__td-title {
191
+ font-weight: 500;
192
+ text-align: start;
193
+ }
194
+ .v-data-table__td-value {
195
+ text-align: end;
196
+ }
197
+ .v-data-table__td-sort-icon {
198
+ color: rgba(var(--v-theme-on-surface), var(--v-disabled-opacity));
199
+ }
200
+ .v-data-table__td-sort-icon-active {
201
+ color: rgba(var(--v-theme-on-surface));
202
+ }
201
203
  }
@@ -80,10 +80,16 @@
80
80
  .v-data-table-column--fixed-end,
81
81
  .v-data-table__th--sticky
82
82
  background: $table-background
83
- position: sticky !important
84
83
  left: 0
85
84
  z-index: 1
86
85
 
86
+ @include tools.layer('overrides')
87
+ // Beat out relative on table > tbody > tr > td
88
+ // TODO: Use :where() for all those child combinators
89
+ // @scope would probably be even better but
90
+ // doesn't seem to be getting here any time soon
91
+ position: sticky
92
+
87
93
  .v-data-table-column--fixed-end
88
94
  left: unset
89
95
  right: 0
@@ -111,8 +117,10 @@
111
117
  .v-data-table__td
112
118
  opacity: $data-table-loading-opacity
113
119
 
114
- .v-data-table-group-header-row__column
115
- padding-left: calc(var(--v-data-table-group-header-row-depth) * 16px) !important
120
+ @include tools.layer('overrides')
121
+ // Again, needs to beat all the child combinators
122
+ .v-data-table-group-header-row__column
123
+ padding-left: calc(var(--v-data-table-group-header-row-depth) * 16px)
116
124
 
117
125
  .v-data-table-header__content
118
126
  display: flex
@@ -131,11 +139,12 @@
131
139
  width: $data-table-header-sort-badge-size
132
140
  height: $data-table-header-sort-badge-size
133
141
 
134
- .v-data-table-progress
135
- > th
136
- border: none !important
137
- height: auto !important
138
- padding: 0 !important
142
+ @include tools.layer('overrides')
143
+ .v-data-table-progress
144
+ > th
145
+ border: none
146
+ height: auto
147
+ padding: 0
139
148
 
140
149
  .v-data-table-progress__loader
141
150
  position: relative
@@ -160,8 +169,9 @@
160
169
  grid-template-columns: repeat(2, 1fr)
161
170
  min-height: var(--v-table-row-height)
162
171
 
163
- &:not(:last-child)
164
- border-bottom: 0 !important
172
+ @include tools.layer('overrides')
173
+ &:not(:last-child)
174
+ border-bottom: 0
165
175
 
166
176
  .v-data-table__td-title
167
177
  font-weight: VTable.$table-header-font-weight
@@ -1,32 +1,34 @@
1
- .v-data-table-footer {
2
- align-items: center;
3
- display: flex;
4
- flex-wrap: wrap;
5
- justify-content: flex-end;
6
- padding: 8px 4px;
7
- }
8
- .v-data-table-footer__items-per-page {
9
- align-items: center;
10
- display: flex;
11
- justify-content: center;
12
- }
13
- .v-data-table-footer__items-per-page > span {
14
- padding-inline-end: 8px;
15
- }
16
- .v-data-table-footer__items-per-page > .v-select {
17
- width: 90px;
18
- }
19
- .v-data-table-footer__info {
20
- display: flex;
21
- justify-content: flex-end;
22
- min-width: 116px;
23
- padding: 0 16px;
24
- }
25
- .v-data-table-footer__paginationz {
26
- align-items: center;
27
- display: flex;
28
- margin-inline-start: 16px;
29
- }
30
- .v-data-table-footer__page {
31
- padding: 0 8px;
1
+ @layer vuetify.components {
2
+ .v-data-table-footer {
3
+ align-items: center;
4
+ display: flex;
5
+ flex-wrap: wrap;
6
+ justify-content: flex-end;
7
+ padding: 8px 4px;
8
+ }
9
+ .v-data-table-footer__items-per-page {
10
+ align-items: center;
11
+ display: flex;
12
+ justify-content: center;
13
+ }
14
+ .v-data-table-footer__items-per-page > span {
15
+ padding-inline-end: 8px;
16
+ }
17
+ .v-data-table-footer__items-per-page > .v-select {
18
+ width: 90px;
19
+ }
20
+ .v-data-table-footer__info {
21
+ display: flex;
22
+ justify-content: flex-end;
23
+ min-width: 116px;
24
+ padding: 0 16px;
25
+ }
26
+ .v-data-table-footer__paginationz {
27
+ align-items: center;
28
+ display: flex;
29
+ margin-inline-start: 16px;
30
+ }
31
+ .v-data-table-footer__page {
32
+ padding: 0 8px;
33
+ }
32
34
  }
@@ -117,7 +117,7 @@ export const VDataTableFooter = genericComponent()({
117
117
  "onUpdate:modelValue": v => setItemsPerPage(Number(v)),
118
118
  "density": "compact",
119
119
  "variant": "outlined",
120
- "hideDetails": true
120
+ "hide-details": true
121
121
  }, null)]), _createElementVNode("div", {
122
122
  "class": "v-data-table-footer__info"
123
123
  }, [_createElementVNode("div", null, [t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value)])]), _createElementVNode("div", {
@@ -126,14 +126,14 @@ export const VDataTableFooter = genericComponent()({
126
126
  "modelValue": page.value,
127
127
  "onUpdate:modelValue": $event => page.value = $event,
128
128
  "density": "comfortable",
129
- "firstAriaLabel": props.firstPageLabel,
130
- "lastAriaLabel": props.lastPageLabel,
129
+ "first-aria-label": props.firstPageLabel,
130
+ "last-aria-label": props.lastPageLabel,
131
131
  "length": pageCount.value,
132
- "nextAriaLabel": props.nextPageLabel,
133
- "previousAriaLabel": props.prevPageLabel,
132
+ "next-aria-label": props.nextPageLabel,
133
+ "previous-aria-label": props.prevPageLabel,
134
134
  "rounded": true,
135
- "showFirstLastPage": true,
136
- "totalVisible": props.showCurrentPage ? 1 : 0,
135
+ "show-first-last-page": true,
136
+ "total-visible": props.showCurrentPage ? 1 : 0,
137
137
  "variant": "plain"
138
138
  }, paginationProps), null)])]);
139
139
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableFooter.js","names":["VPagination","VSelect","usePagination","IconValue","useLocale","computed","genericComponent","propsFactory","useRender","makeVDataTableFooterProps","prevIcon","type","default","nextIcon","firstIcon","lastIcon","itemsPerPageText","String","pageText","firstPageLabel","prevPageLabel","nextPageLabel","lastPageLabel","itemsPerPageOptions","Array","value","title","showCurrentPage","Boolean","VDataTableFooter","name","props","setup","_ref","slots","t","page","pageCount","startIndex","stopIndex","itemsLength","itemsPerPage","setItemsPerPage","map","option","isNaN","Number","paginationProps","filterProps","_createElementVNode","prepend","_createVNode","v","_mergeProps","$event"],"sources":["../../../src/components/VDataTable/VDataTableFooter.tsx"],"sourcesContent":["// Styles\nimport './VDataTableFooter.sass'\n\n// Components\nimport { VPagination } from '@/components/VPagination'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { usePagination } from './composables/paginate'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDataTableFooterProps = propsFactory({\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n firstIcon: {\n type: IconValue,\n default: '$first',\n },\n lastIcon: {\n type: IconValue,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n firstPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.firstPage',\n },\n prevPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.prevPage',\n },\n nextPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.nextPage',\n },\n lastPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.lastPage',\n },\n itemsPerPageOptions: {\n type: Array as PropType<readonly (number | { title: string, value: number })[]>,\n default: () => ([\n { value: 10, title: '10' },\n { value: 25, title: '25' },\n { value: 50, title: '50' },\n { value: 100, title: '100' },\n { value: -1, title: '$vuetify.dataFooter.itemsPerPageAll' },\n ]),\n },\n showCurrentPage: Boolean,\n}, 'VDataTableFooter')\n\nexport const VDataTableFooter = genericComponent<{ prepend: never }>()({\n name: 'VDataTableFooter',\n\n props: makeVDataTableFooterProps(),\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { page, pageCount, startIndex, stopIndex, itemsLength, itemsPerPage, setItemsPerPage } = usePagination()\n\n const itemsPerPageOptions = computed(() => (\n props.itemsPerPageOptions.map(option => {\n if (typeof option === 'number') {\n return {\n value: option,\n title: option === -1\n ? t('$vuetify.dataFooter.itemsPerPageAll')\n : String(option),\n }\n }\n\n return {\n ...option,\n title: !isNaN(Number(option.title)) ? option.title : t(option.title),\n }\n })\n ))\n\n useRender(() => {\n const paginationProps = VPagination.filterProps(props)\n\n return (\n <div class=\"v-data-table-footer\">\n { slots.prepend?.() }\n\n <div class=\"v-data-table-footer__items-per-page\">\n <span aria-label={ t(props.itemsPerPageText) }>{ t(props.itemsPerPageText) }</span>\n\n <VSelect\n items={ itemsPerPageOptions.value }\n modelValue={ itemsPerPage.value }\n onUpdate:modelValue={ v => setItemsPerPage(Number(v)) }\n density=\"compact\"\n variant=\"outlined\"\n hideDetails\n />\n </div>\n\n <div class=\"v-data-table-footer__info\">\n <div>\n { t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value) }\n </div>\n </div>\n\n <div class=\"v-data-table-footer__pagination\">\n <VPagination\n v-model={ page.value }\n density=\"comfortable\"\n firstAriaLabel={ props.firstPageLabel }\n lastAriaLabel={ props.lastPageLabel }\n length={ pageCount.value }\n nextAriaLabel={ props.nextPageLabel }\n previousAriaLabel={ props.prevPageLabel }\n rounded\n showFirstLastPage\n totalVisible={ props.showCurrentPage ? 1 : 0 }\n variant=\"plain\"\n { ...paginationProps }\n ></VPagination>\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTableFooter = InstanceType<typeof VDataTableFooter>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,WAAW;AAAA,SACXC,OAAO,+BAEhB;AAAA,SACSC,aAAa;AAAA,SACbC,SAAS;AAAA,SACTC,SAAS,uCAElB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,+BAElD;AAGA,OAAO,MAAMC,yBAAyB,GAAGF,YAAY,CAAC;EACpDG,QAAQ,EAAE;IACRC,IAAI,EAAER,SAAS;IACfS,OAAO,EAAE;EACX,CAAC;EACDC,QAAQ,EAAE;IACRF,IAAI,EAAER,SAAS;IACfS,OAAO,EAAE;EACX,CAAC;EACDE,SAAS,EAAE;IACTH,IAAI,EAAER,SAAS;IACfS,OAAO,EAAE;EACX,CAAC;EACDG,QAAQ,EAAE;IACRJ,IAAI,EAAER,SAAS;IACfS,OAAO,EAAE;EACX,CAAC;EACDI,gBAAgB,EAAE;IAChBL,IAAI,EAAEM,MAAM;IACZL,OAAO,EAAE;EACX,CAAC;EACDM,QAAQ,EAAE;IACRP,IAAI,EAAEM,MAAM;IACZL,OAAO,EAAE;EACX,CAAC;EACDO,cAAc,EAAE;IACdR,IAAI,EAAEM,MAAM;IACZL,OAAO,EAAE;EACX,CAAC;EACDQ,aAAa,EAAE;IACbT,IAAI,EAAEM,MAAM;IACZL,OAAO,EAAE;EACX,CAAC;EACDS,aAAa,EAAE;IACbV,IAAI,EAAEM,MAAM;IACZL,OAAO,EAAE;EACX,CAAC;EACDU,aAAa,EAAE;IACbX,IAAI,EAAEM,MAAM;IACZL,OAAO,EAAE;EACX,CAAC;EACDW,mBAAmB,EAAE;IACnBZ,IAAI,EAAEa,KAAyE;IAC/EZ,OAAO,EAAEA,CAAA,KAAO,CACd;MAAEa,KAAK,EAAE,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC,EAC1B;MAAED,KAAK,EAAE,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC,EAC1B;MAAED,KAAK,EAAE,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC,EAC1B;MAAED,KAAK,EAAE,GAAG;MAAEC,KAAK,EAAE;IAAM,CAAC,EAC5B;MAAED,KAAK,EAAE,CAAC,CAAC;MAAEC,KAAK,EAAE;IAAsC,CAAC;EAE/D,CAAC;EACDC,eAAe,EAAEC;AACnB,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAMC,gBAAgB,GAAGvB,gBAAgB,CAAqB,CAAC,CAAC;EACrEwB,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEtB,yBAAyB,CAAC,CAAC;EAElCuB,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAE,CAAC,GAAG/B,SAAS,CAAC,CAAC;IACzB,MAAM;MAAEgC,IAAI;MAAEC,SAAS;MAAEC,UAAU;MAAEC,SAAS;MAAEC,WAAW;MAAEC,YAAY;MAAEC;IAAgB,CAAC,GAAGxC,aAAa,CAAC,CAAC;IAE9G,MAAMqB,mBAAmB,GAAGlB,QAAQ,CAAC,MACnC0B,KAAK,CAACR,mBAAmB,CAACoB,GAAG,CAACC,MAAM,IAAI;MACtC,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO;UACLnB,KAAK,EAAEmB,MAAM;UACblB,KAAK,EAAEkB,MAAM,KAAK,CAAC,CAAC,GAChBT,CAAC,CAAC,qCAAqC,CAAC,GACxClB,MAAM,CAAC2B,MAAM;QACnB,CAAC;MACH;MAEA,OAAO;QACL,GAAGA,MAAM;QACTlB,KAAK,EAAE,CAACmB,KAAK,CAACC,MAAM,CAACF,MAAM,CAAClB,KAAK,CAAC,CAAC,GAAGkB,MAAM,CAAClB,KAAK,GAAGS,CAAC,CAACS,MAAM,CAAClB,KAAK;MACrE,CAAC;IACH,CAAC,CACF,CAAC;IAEFlB,SAAS,CAAC,MAAM;MACd,MAAMuC,eAAe,GAAG/C,WAAW,CAACgD,WAAW,CAACjB,KAAK,CAAC;MAEtD,OAAAkB,mBAAA;QAAA;MAAA,IAEMf,KAAK,CAACgB,OAAO,GAAG,CAAC,EAAAD,mBAAA;QAAA;MAAA,IAAAA,mBAAA;QAAA,cAGEd,CAAC,CAACJ,KAAK,CAACf,gBAAgB;MAAC,IAAKmB,CAAC,CAACJ,KAAK,CAACf,gBAAgB,CAAC,IAAAmC,YAAA,CAAAlD,OAAA;QAAA,SAGhEsB,mBAAmB,CAACE,KAAK;QAAA,cACpBgB,YAAY,CAAChB,KAAK;QAAA,uBACT2B,CAAC,IAAIV,eAAe,CAACI,MAAM,CAACM,CAAC,CAAC,CAAC;QAAA;QAAA;QAAA;MAAA,YAAAH,mBAAA;QAAA;MAAA,IAAAA,mBAAA,eASnDd,CAAC,CAACJ,KAAK,CAACb,QAAQ,EAAE,CAACsB,WAAW,CAACf,KAAK,GAAG,CAAC,GAAGa,UAAU,CAACb,KAAK,GAAG,CAAC,EAAEc,SAAS,CAACd,KAAK,EAAEe,WAAW,CAACf,KAAK,CAAC,MAAAwB,mBAAA;QAAA;MAAA,IAAAE,YAAA,CAAAnD,WAAA,EAAAqD,WAAA;QAAA,cAM5FjB,IAAI,CAACX,KAAK;QAAA,uBAAA6B,MAAA,IAAVlB,IAAI,CAACX,KAAK,GAAA6B,MAAA;QAAA;QAAA,kBAEHvB,KAAK,CAACZ,cAAc;QAAA,iBACrBY,KAAK,CAACT,aAAa;QAAA,UAC1Be,SAAS,CAACZ,KAAK;QAAA,iBACRM,KAAK,CAACV,aAAa;QAAA,qBACfU,KAAK,CAACX,aAAa;QAAA;QAAA;QAAA,gBAGxBW,KAAK,CAACJ,eAAe,GAAG,CAAC,GAAG,CAAC;QAAA;MAAA,GAEvCoB,eAAe;IAK9B,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VDataTableFooter.js","names":["VPagination","VSelect","usePagination","IconValue","useLocale","computed","genericComponent","propsFactory","useRender","makeVDataTableFooterProps","prevIcon","type","default","nextIcon","firstIcon","lastIcon","itemsPerPageText","String","pageText","firstPageLabel","prevPageLabel","nextPageLabel","lastPageLabel","itemsPerPageOptions","Array","value","title","showCurrentPage","Boolean","VDataTableFooter","name","props","setup","_ref","slots","t","page","pageCount","startIndex","stopIndex","itemsLength","itemsPerPage","setItemsPerPage","map","option","isNaN","Number","paginationProps","filterProps","_createElementVNode","prepend","_createVNode","v","_mergeProps","$event"],"sources":["../../../src/components/VDataTable/VDataTableFooter.tsx"],"sourcesContent":["// Styles\nimport './VDataTableFooter.sass'\n\n// Components\nimport { VPagination } from '@/components/VPagination'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { usePagination } from './composables/paginate'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDataTableFooterProps = propsFactory({\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n firstIcon: {\n type: IconValue,\n default: '$first',\n },\n lastIcon: {\n type: IconValue,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n firstPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.firstPage',\n },\n prevPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.prevPage',\n },\n nextPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.nextPage',\n },\n lastPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.lastPage',\n },\n itemsPerPageOptions: {\n type: Array as PropType<readonly (number | { title: string, value: number })[]>,\n default: () => ([\n { value: 10, title: '10' },\n { value: 25, title: '25' },\n { value: 50, title: '50' },\n { value: 100, title: '100' },\n { value: -1, title: '$vuetify.dataFooter.itemsPerPageAll' },\n ]),\n },\n showCurrentPage: Boolean,\n}, 'VDataTableFooter')\n\nexport const VDataTableFooter = genericComponent<{ prepend: never }>()({\n name: 'VDataTableFooter',\n\n props: makeVDataTableFooterProps(),\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { page, pageCount, startIndex, stopIndex, itemsLength, itemsPerPage, setItemsPerPage } = usePagination()\n\n const itemsPerPageOptions = computed(() => (\n props.itemsPerPageOptions.map(option => {\n if (typeof option === 'number') {\n return {\n value: option,\n title: option === -1\n ? t('$vuetify.dataFooter.itemsPerPageAll')\n : String(option),\n }\n }\n\n return {\n ...option,\n title: !isNaN(Number(option.title)) ? option.title : t(option.title),\n }\n })\n ))\n\n useRender(() => {\n const paginationProps = VPagination.filterProps(props)\n\n return (\n <div class=\"v-data-table-footer\">\n { slots.prepend?.() }\n\n <div class=\"v-data-table-footer__items-per-page\">\n <span aria-label={ t(props.itemsPerPageText) }>{ t(props.itemsPerPageText) }</span>\n\n <VSelect\n items={ itemsPerPageOptions.value }\n modelValue={ itemsPerPage.value }\n onUpdate:modelValue={ v => setItemsPerPage(Number(v)) }\n density=\"compact\"\n variant=\"outlined\"\n hide-details\n />\n </div>\n\n <div class=\"v-data-table-footer__info\">\n <div>\n { t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value) }\n </div>\n </div>\n\n <div class=\"v-data-table-footer__pagination\">\n <VPagination\n v-model={ page.value }\n density=\"comfortable\"\n first-aria-label={ props.firstPageLabel }\n last-aria-label={ props.lastPageLabel }\n length={ pageCount.value }\n next-aria-label={ props.nextPageLabel }\n previous-aria-label={ props.prevPageLabel }\n rounded\n show-first-last-page\n total-visible={ props.showCurrentPage ? 1 : 0 }\n variant=\"plain\"\n { ...paginationProps }\n ></VPagination>\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTableFooter = InstanceType<typeof VDataTableFooter>\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,9 @@
1
- .v-date-picker {
2
- overflow: hidden;
3
- width: 328px;
4
- }
5
- .v-date-picker--show-week {
6
- width: 368px;
1
+ @layer vuetify.components {
2
+ .v-date-picker {
3
+ overflow: hidden;
4
+ width: 328px;
5
+ }
6
+ .v-date-picker--show-week {
7
+ width: 368px;
8
+ }
7
9
  }